如何在Android中设置底部导航的全宽

如何在Android中设置底部导航的全宽,android,android-tablayout,Android,Android Tablayout,我在一个Android应用程序中工作,在这个应用程序中,当我将屏幕旋转到横向模式时,我想设置底部导航选项卡的全宽 activit_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http

我在一个Android应用程序中工作,在这个应用程序中,当我将屏幕旋转到横向模式时,我想设置底部导航选项卡的全宽

activit_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/Conslayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="0dp"
        android:layout_marginStart="0dp"

        android:animateLayoutChanges="true"
        android:layoutMode="opticalBounds"
        android:background="?android:attr/windowBackground"

        app:itemBackground="?android:attr/windowBackground"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:menu="@menu/navigation"
        app:itemIconTint="@color/color_selector"
        app:itemTextColor="@color/color_selector" />

</android.support.constraint.ConstraintLayout>

在这个视图中,我想将底部导航选项卡设置为完全,就像屏幕中的选项卡布局一样


谢谢。

我有一个底部导航视图,在横向模式下适合整个屏幕,我相信关键是将
android:background
app:itemBackground
设置为相同的颜色。
下面是我的BottomNavigationView,它适合横向模式下的整个屏幕:

<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:background="@color/colorBottomBar"
    app:itemBackground="@color/colorBottomBar"
    app:itemIconTint="@drawable/bottom_navigation_toolbar"
    app:itemTextColor="@drawable/bottom_navigation_toolbar"
    app:menu="@menu/bottom_bar"/>

只要再次运行项目,按钮就会拉伸。这是一个快速解决方案,请确保您查看答案,因为您需要考虑其他屏幕尺寸,此链接中的答案提供了完整详细的解决方案。

需要将宽度设置为

"match_parent"

试试这个,我在手机和tab上都能用。只需设置自己的颜色

<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottomNavigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:animateLayoutChanges="true"
    android:background="@color/light_blue_500"
    android:layoutMode="opticalBounds"
    android:theme="@style/BottomNavAppTheme"
    app:itemBackground="@color/light_blue_500"
    app:itemIconTint="@drawable/nav_item_color_state"
    app:itemTextColor="@drawable/nav_item_color_state"
    app:menu="@menu/bottom_navigation_main" />

这是我的nav_item_color_state.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/white" android:state_enabled="true" />
    <item android:color="@color/colorPrimaryDark" android:state_enabled="false" />
</selector>


设置相同颜色后,也会返回与横向宽度不匹配的相同结果mode@Nikson您是否也将宽度设置为
匹配\u parent
?让我自己用
ConstraintLayout
试试。是的,我添加了both@Nikson我刚刚在一个
ConstraintLayout
中尝试了你的值,效果很好,你能提供整个
activity\u main.xml
文件吗?@Nikson请参考我答案中的编辑,应该可以。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/white" android:state_enabled="true" />
    <item android:color="@color/colorPrimaryDark" android:state_enabled="false" />
</selector>