Android - BottomNavigationMenu和线性布局中的listView

时间:2017-04-06 11:22:19

标签: android listview bottomnavigationview

我的BottomNavigationBar有一个奇怪的问题

情况是这样的: 我有一个包含的活动   - 显示债务和信用的一小部分,它的工作原理   - 一个包含我所有支出的listView,它也可以运行   - 一个部分工作的bottomNavigationMenuBar,实际上它没有锚定到我的活动底部但是如果留在ListView的底部,直到ListView占据显示器上的所有空间

我附上一些屏幕以便更好地解释 no good behaviour, it must stay at the bottom 没有好的行为,它必须保持在最底层
enter image description here 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>

2 个答案:

答案 0 :(得分:0)

尝试提供LinearVerticalLayout的android:layout_height =&#34; match_parent&#34;,可能是它&#39; ll工作

答案 1 :(得分:0)

将BottomBar放在线性布局之外。像这样:

 <?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>

这应该对你有用