首页 > 解决方案 > BottomNavigatioView ColorStateList 在 api <=26 上不起作用

问题描述

我已将 bottomNavigationView 集成到我的应用程序中。我已经配置了一些 ColorStateList 来更改背景颜色。此选择器在 api <= 26 中被忽略

这是我的背景选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#B59339" android:drawable="@color/gold" android:state_checked="true" />
    <item android:color="#112620" android:drawable="@color/app_dark_color" android:state_checked="false" />
</selector>

这是我的bottomNavigationView

app:itemIconTint="@color/bottom_nav_tint"
app:itemTextColor="@color/bottom_nav_tint"

我也尝试过使用drawables,但它并没有改变任何东西

app:itemIconTint="@drawable/bottom_nav_tint"
app:itemTextColor="@drawable/bottom_nav_tint"

标签: androidkotlinselectordrawablebottomnavigationview

解决方案


我已经解决了。我将 colorFilterList 文件移动到 drawable 中并像这样调用它:

app:itemBackground="@drawable/bottom_nav_background"
app:itemIconTint="@drawable/bottom_nav_tint"
app:itemTextColor="@drawable/bottom_nav_tint"

推荐阅读