Android-线性布局中的BottomNavigationMenu和listView

Android-线性布局中的BottomNavigationMenu和listView,android,listview,bottomnavigationview,Android,Listview,Bottomnavigationview,我的底部导航栏有一个奇怪的问题 情况如下: 我有一个包含 -一个显示债务和信用的小片段,它是有效的 -一个包含我所有支出的列表视图,它也可以工作 -一个部分工作的底部导航菜单栏,实际上它并没有锚定到我的活动的底部,但是如果它一直停留在ListView的底部,直到ListView占据了显示屏上的所有空间 我附加了一些屏幕以便更好地解释 没有好的行为,它必须处于底层 ListView比屏幕大,而且工作正常 这是我的XML <?xml version="1.0" encoding="u

我的底部导航栏有一个奇怪的问题

情况如下: 我有一个包含 -一个显示债务和信用的小片段,它是有效的 -一个包含我所有支出的列表视图,它也可以工作 -一个部分工作的底部导航菜单栏,实际上它并没有锚定到我的活动的底部,但是如果它一直停留在ListView的底部,直到ListView占据了显示屏上的所有空间

我附加了一些屏幕以便更好地解释 没有好的行为,它必须处于底层
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>


尝试使用LineareTicallayout的android:layout\u height=“match\u 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>


这应该适合您

使用RelativeLayout而不是LinearLayout它在我这边有效。检查它,然后让我知道它是否有效not@Kalos92works部分,但问题是:当ListView在OCC购买所有屏幕时,最后一个可见项位于底部导航栏下,使底部栏高度固定,如
60dp
。然后在线性布局标签中添加边距底部
60dp
。像这样:
android:layout_marginBottom=“60dp