底部导航栏图标颜色显示不正确。

4
我在使用BottomNavigationView库https://github.com/ittianyu/BottomNavigationViewEx时遇到了一些问题,我在xml文件中设置的颜色没有正确显示。
以下是color_state.xml文件的内容:
<?xml version="1.0" encoding="utf-8"?>

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:color="@android:color/black" android:state_checked="true" android:alpha="1"/>
        <item android:color="#bdbdbd" android:state_checked="false" />
    </selector> 

你可以看到,我已经将 state_checked = true 的颜色设置为黑色,但实际上它看起来像这样

对于 state_checked = false 也是同样的情况, 有人知道如何解决吗?

这里是 BottomNavigation 的代码:

<com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx
        android:layout_width="match_parent"
        android:layout_height="60dp"
        app:menu="@menu/navigation_view_menu"
        app:itemIconTint="@drawable/color_state"
        android:id="@+id/bottomnav"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginStart="0dp"
        android:layout_marginEnd="0dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:itemBackground="@android:color/transparent"
        app:itemTextColor="@drawable/state"
        android:background="@android:color/white"

        >



    </com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx> 

{btsdaf} - lidkxx
你的例子帮了我很多。只需要将我的 custom_color.xml 文件放入 /res/animator 目录中,然后它就可以工作了。 - sausagerus
2个回答

2

itemIconTint应该是颜色资源而不是drawable,app:itemIconTint="@drawable/color_state" 应更改为 app:itemIconTint="@color/color_state"


1
我在res文件夹中创建了一个名为color的目录,并将我的xml文件放在其中,但它仍然无法工作。 - Omar Walid
你能提供一个完整的例子吗? - huangsu

1
对我来说,这真是一件愚蠢的事情 - 经过数小时的调试,了解提供@color和@drawable之间的区别以及了解视图各种状态之间的差异后,最终发现我在我的res目录中有和文件夹,并且我只编辑前者。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接