【问题标题】:How to change the text color of checked navigation view item in Android?如何更改 Android 中选中的导航视图项的文本颜色?
【发布时间】:2016-03-14 00:19:54
【问题描述】:

我正在开发一个 Android 应用程序。在我的应用程序中,我使用的是导航视图和抽屉。我想要的是我想更改选中项目的文本颜色。我在网上搜索,找到了一个链接Change the color of a checked menu item in a navigation drawer。我跟着它。但它不起作用,只是抛出错误。

我也试过这样:

<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" />

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

【问题讨论】:

  • 你尝试过绘制状态列表吗?
  • 我尝试了我提到的链接。我想这就是你想指出的。我创建了颜色文件夹并将资源添加为链接。但它会引发错误。
  • 当使用状态列表drawable时,你会在你的drawable文件夹中创建一个xml文件并将它设置为背景。如果您以编程方式为抽屉中的每个项目设置文本,那么您也可以使用 texview.setColor(yourcolor); 设置文本颜色
  • 另外,如果您在 logcat 中发现任何可能暗示问题所在的内容,请发布您的 logcat。
  • 好的,所以您使用的是颜色状态 xml 文件。你能发布你正在使用的颜色状态 xml 吗?

标签: android navigation-drawer android-navigationview


【解决方案1】:

试试这个:

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 中引用相同的内容。

【讨论】:

  • 它不工作。我找到了解决方案。 menu_selector 必须在 drawable 文件夹中,所以它就像 app:itemIconTint="@drawable/menu_selector" 。您的与我提到的链接相同。非常感谢。
  • 您只需将答案编辑为可绘制而不是颜色。我会赞成的。
  • 另外,请检查项目的背景如何?
  • 我想知道它为什么不能像彩色 xml 一样工作,因为我使用的是同样的东西,它工作正常。关于改变背景我从未尝试过。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-05
  • 2023-01-24
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多