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> 

  • 例外:不支持此function,请使用MenuItemCompat.getActionProvider()
  • generatedDensities已弃用
  • 即使在使用命名空间http://schemas.android.com/apk/res-auto之后,也没有find属性错误的资源标识符
  • Android-support-v4.jar中意外的顶级exception
  • Crashlytics发现一个无效的API密钥
  • Android Studio - ADB错误 - “...设备未经授权。 请检查设备上的确认对话框。“
  • 如何获得PhoneGap项目在Android Studio中运行与Gradle构build系统
  • 升级到Android Studio 2.3后,“包android.support.multidex不存在”
  • 创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它。

    它的作用就像魅力。