Android - 线性布局中的 BottomNavigationMenu 和 listView
Android - BottomNavigationMenu and listView in a Linear Layout
我的 BottomNavigationBar 有一个奇怪的问题
情况是这样的:
我有一个 activity 包含
- 用于显示债务和信用的小片段并且有效
- 一个包含我所有支出的列表视图,它也能正常工作
- 部分工作的 bottomNavigationMenuBar,实际上它没有锚定到我的 activity 的底部,但如果停留在 ListView 的底部直到 ListView 占据显示器上的所有 space
我附上一些屏幕来更好地解释
没有好的行为,它必须留在底部
ListView 比屏幕大而且效果很好
这是我的XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/tab_bck"
xmlns:design="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:id="@+id/LinearVerticalLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/tab_bck" >
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:id="@+id/expenseToolbar"
android:layout_height="?attr/actionBarSize"
android:elevation="6dp"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme"
app:navigationIcon="?attr/homeAsUpIndicator"
app:titleTextColor="@android:color/white"
app:subtitleTextColor="@android:color/white"
android:background="@color/colorPrimary">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/></android.support.v7.widget.Toolbar>
<FrameLayout
android:id="@+id/fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="it.polito.mad17.viral.sliceapp.Fragment_of_money"
/>
<ListView
android:id="@+id/listView2"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"
android:background="@color/tab_bck"
android:longClickable="true"
/>
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/bottom_nav_bar"
android:layout_gravity="bottom"
design:menu="@menu/bottom_nav_bar_menu"
design:itemIconTint="#16a085"
design:itemTextColor="#16a085"/>
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
尝试提供 LinearVerticalLayout 的 android:layout_height="match_parent",也许它会起作用
在线性布局之外放置底部栏。像这样:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/tab_bck"
xmlns:design="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:id="@+id/LinearVerticalLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/tab_bck" >
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:id="@+id/expenseToolbar"
android:layout_height="?attr/actionBarSize"
android:elevation="6dp"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme"
app:navigationIcon="?attr/homeAsUpIndicator"
app:titleTextColor="@android:color/white"
app:subtitleTextColor="@android:color/white"
android:background="@color/colorPrimary">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/></android.support.v7.widget.Toolbar>
<FrameLayout
android:id="@+id/fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="it.polito.mad17.viral.sliceapp.Fragment_of_money"
/>
<ListView
android:id="@+id/listView2"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"
android:background="@color/tab_bck"
android:longClickable="true"
/>
</LinearLayout>
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/bottom_nav_bar"
android:layout_gravity="bottom"
design:menu="@menu/bottom_nav_bar_menu"
design:itemIconTint="#16a085"
design:itemTextColor="#16a085"/>
</android.support.design.widget.CoordinatorLayout>
这应该适合你
我的 BottomNavigationBar 有一个奇怪的问题
情况是这样的: 我有一个 activity 包含 - 用于显示债务和信用的小片段并且有效 - 一个包含我所有支出的列表视图,它也能正常工作 - 部分工作的 bottomNavigationMenuBar,实际上它没有锚定到我的 activity 的底部,但如果停留在 ListView 的底部直到 ListView 占据显示器上的所有 space
我附上一些屏幕来更好地解释
这是我的XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/tab_bck"
xmlns:design="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:id="@+id/LinearVerticalLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/tab_bck" >
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:id="@+id/expenseToolbar"
android:layout_height="?attr/actionBarSize"
android:elevation="6dp"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme"
app:navigationIcon="?attr/homeAsUpIndicator"
app:titleTextColor="@android:color/white"
app:subtitleTextColor="@android:color/white"
android:background="@color/colorPrimary">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/></android.support.v7.widget.Toolbar>
<FrameLayout
android:id="@+id/fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="it.polito.mad17.viral.sliceapp.Fragment_of_money"
/>
<ListView
android:id="@+id/listView2"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"
android:background="@color/tab_bck"
android:longClickable="true"
/>
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/bottom_nav_bar"
android:layout_gravity="bottom"
design:menu="@menu/bottom_nav_bar_menu"
design:itemIconTint="#16a085"
design:itemTextColor="#16a085"/>
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
尝试提供 LinearVerticalLayout 的 android:layout_height="match_parent",也许它会起作用
在线性布局之外放置底部栏。像这样:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/tab_bck"
xmlns:design="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:id="@+id/LinearVerticalLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/tab_bck" >
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:id="@+id/expenseToolbar"
android:layout_height="?attr/actionBarSize"
android:elevation="6dp"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme"
app:navigationIcon="?attr/homeAsUpIndicator"
app:titleTextColor="@android:color/white"
app:subtitleTextColor="@android:color/white"
android:background="@color/colorPrimary">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/></android.support.v7.widget.Toolbar>
<FrameLayout
android:id="@+id/fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="it.polito.mad17.viral.sliceapp.Fragment_of_money"
/>
<ListView
android:id="@+id/listView2"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"
android:background="@color/tab_bck"
android:longClickable="true"
/>
</LinearLayout>
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/bottom_nav_bar"
android:layout_gravity="bottom"
design:menu="@menu/bottom_nav_bar_menu"
design:itemIconTint="#16a085"
design:itemTextColor="#16a085"/>
</android.support.design.widget.CoordinatorLayout>
这应该适合你