0

我的 BottomNavigationBar 有一个奇怪的问题

情况是这样的:我有一个活动,其中包含 - 用于显示债务和信用的小片段,它可以工作 - 一个包含我所有支出的 listView,它也可以工作 - 一个bottomNavigationMenuBar 部分工作,实际上它没有锚定到底部我的活动,但如果停留在 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>
4

2 回答 2

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>

这应该适合你

于 2017-04-06T12:11:15.113 回答
0

尝试给 LinearVerticalLayout 的 android:layout_height="match_parent",也许它会工作

于 2017-04-06T11:32:35.770 回答