android - 如何在底部导航视图中更改所选项目的背景颜色
问题描述
我想在导航视图中更改所选项目的背景颜色。
我已经尝试使用选择器颜色文件并且也可以绘制但没有任何工作..当我在 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
解决方案
您不能在其中设置颜色资源,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>
推荐阅读
- javascript - 在哪里放置修改状态的“componentWillMount”初始化函数?
- c++ - 为什么内置排序无法对向量图进行排序?
- reactjs - React - 每次单击图像时显示警报
- python-3.x - 使用 lstm 添加 conv2d 层时,有没有办法修复密集层形状?
- react-native - NearbyConnection:在最初未授予存储权限后重试 saveFile 时,payload.asFile().asJavaFile() 为 null
- reactjs - 使用 NetlifyCMS 在 localhost 和 Netlify 之间中断的图像
- c - 如何在c中的函数调用期间找到指向字符串的指针的地址
- java - DNS Java 没有为 TSIG 定义文本格式
- laravel - 对分组查询进行分页
- android - 如何优雅地使用来自 android 库的 firebaseUI 构建统一项目