如何在Android中更改选中的导航视图项的文本颜色?

如何在Android中更改选中的导航视图项的文本颜色?,android,navigation-drawer,android-navigationview,Android,Navigation Drawer,Android Navigationview,我正在开发一个Android应用程序。在我的应用程序中,我使用的是导航视图和抽屉。我要做的是更改选中项的文本颜色。我在网上搜索,找到了一个链接。我跟着它走。但它不起作用,只是抛出错误 我也试过这样: <android.support.design.widget.NavigationView app:itemIconTint="@color/red" app:itemTextColor="@color/colorAccent" app:item

我正在开发一个Android应用程序。在我的应用程序中,我使用的是导航视图和抽屉。我要做的是更改选中项的文本颜色。我在网上搜索,找到了一个链接。我跟着它走。但它不起作用,只是抛出错误

我也试过这样:

<android.support.design.widget.NavigationView
        app:itemIconTint="@color/red"
        app:itemTextColor="@color/colorAccent"
        app:itemBackground="@color/white"
        android:id="@+id/left_nv_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@android:color/white" />

但即使选中了项文本,它也永远不会是红色的。我怎样才能做到呢?实际上,我想自定义整个选中项。

试试这个:

res/color/menu_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--state is enabled and checked-->
    <item android:color="@color/red"  android:state_enabled="true" android:state_checked="true" />
    <!--state is enabled and not checked-->
    <item android:color="@color/black" android:state_enabled="true" android:state_checked="false" />
    <!--state (menu item) is disabled -->
    <item android:state_enabled="false" android:color="@color/light_black"  />
</selector>

这样设置

 <android.support.design.widget.NavigationView
        ........
        app:itemIconTint="@color/menu_selector"
        app:itemTextColor="@color/menu_selector"/>

更新:
如果上述代码不起作用,请尝试将选择器移动到
drawable
文件夹,并在
NavigationView

中引用相同的内容。您是否尝试过状态列表drawable?我尝试过我提到的链接。我想这就是你想告诉我的。我创建了颜色文件夹并添加了资源作为链接。但它会引发错误。当使用状态列表可绘制时,您将在可绘制文件夹中创建一个xml文件,并将其设置为背景。如果以编程方式设置抽屉中每个项目的文本,那么也可以使用texview.setColor(yourcolor)设置文本颜色;另外,如果您的logcat中有任何可能提示问题所在的内容,请发布您的logcat.Ok,那么您使用的是颜色状态xml文件。您可以发布您正在使用的颜色状态xml吗?它不工作。我找到了解决办法。菜单选择器必须位于drawable文件夹中,因此类似于app:itemIconTint=“@drawable/menu选择器”。你的一个和我提到的链接是一样的。非常感谢。您只需将答案编辑为drawable而非color即可。我会投票的。此外,请检查项目的背景如何?我想知道它为什么不能作为彩色xml工作,因为我使用的是同样的东西,它工作得很好。关于更改背景,我从未尝试过。