首页 > 解决方案 > 如何在底部导航视图中更改所选项目的背景颜色

问题描述

我想在导航视图中更改所选项目的背景颜色。

我已经尝试使用选择器颜色文件并且也可以绘制但没有任何工作..当我在 itemBackground 属性处运行所有时间异常时..

background_color_tab.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/blue" android:state_checked="true" />
    <item android:color="@android:color/black"/>
</selector>

底部导航 线第 49 行是 (app:itemBackground)

<android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        app:menu="@menu/bottom"
        app:itemIconTint="@color/selector_bottom_navigation"
        app:itemTextColor="@color/selector_bottom_navigation"
        app:itemBackground="@color/background_color_tab"
        android:textAlignment="center"
        app:labelVisibilityMode="labeled"
        android:background="@android:color/white"
        app:itemIconSize="@dimen/icon_size"
        app:elevation="5dp">
    </android.support.design.widget.BottomNavigationView>

错误

java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.ccms/com.example.ccms.MainActivity}:android.view.InflateException:二进制 XML 文件第 49 行:二进制 XML 文件第 49 行:膨胀类错误android.support.design.widget.BottomNavigationView

标签: androidxmlbottomnavigationview

解决方案


您不能在其中设置颜色资源,app:itemBackground您必须在此属性中设置可绘制资源

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

推荐阅读