NavigationView(更改所选项目的颜色)

有没有办法改变所选项目的编程颜色的项目颜色
在导航抽屉里?
我可以使用app:itemTextColor,但问题是如果我使用这个,
在菜单项中检查不会突出显示。

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/nav_home" android:icon="@drawable/ic_home_black_24dp" android:title="Home" /> <item android:id="@+id/nav_search" android:icon="@drawable/ic_search_black" android:title="Search Location" /> <item android:id="@+id/nav_fav" android:icon="@drawable/ic_favorite" android:title="Favorites" /> <item android:id="@+id/nav_route" android:icon="@drawable/ic_place" android:title="Route" /> <item android:id="@+id/nav_recent" android:icon="@drawable/ic_nav_route" android:title="Recent Location" /> </group> <item android:title="Others"> <menu> <item android:id="@+id/nav_settings" android:checked="true" android:checkable="true" android:icon="@drawable/ic_settings" android:title="Settings" /> <item android:id="@+id/nav_about" android:icon="@android:drawable/ic_menu_send" android:title="About" /> </menu> </item> </menu> 

Related of "NavigationView(更改所选项目的颜色)"

创build一个select器

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/primary" android:state_checked="true" /> <item android:drawable="@android:color/transparent" /> </selector> 

并设置

 app:itemBackground="@drawable/nav_view_item_background" 

那么所选的项目将被突出显示。

如果你想改变文字颜色,然后设置

 app:itemTextColor="@drawable/nav_view_item_textcolor" 

并为其创build一个select器

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@android:color/white" android:state_checked="true" /> <item android:color="@color/primary" /> </selector> 

注意:雅舒达的答案不适合我,这在大多数情况下是正确的。

虽然我设置state_checked真实的,并给它一个可绘制的颜色,似乎该项目从未被检查。

对于更多的search,我发现问题发生在菜单项。 我没有在菜单文件的菜单项中将检查项目设置为true。

然后,我必须添加一个标签android:checkable=true它。

它的作用就像魅力。