导航视图。android.support.design:itemIconTint,android.support.design:itemTextColor xml 属性不起作用。

6

支持库提供了新的导航视图,用于使用材料设计。更改xml参数: - android.support.design: itemIconTint - android.support.design: itemTextColor 我在类参考中发现这些参数可以通过Java编码进行更改,但我想在XML文件中进行操作,然而,它并没有起作用,我不知道自己做错了什么。

以下是我的导航抽屉和导航视图XML:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android.support.design="http://schemas.android.com/tools"
android:fitsSystemWindows="true">

<RelativeLayout
    --- content 
 </RelativeLayout>

<android.support.design.widget.NavigationView
    android:layout_width="280dp"
    android:layout_height="match_parent"
    android:id="@+id/navigationView"
    android:layout_gravity="start"
    android.support.design:itemIconTint="@color/navigation_view_color_set"
    android.support.design:itemTextColor="@color/navigation_view_color_set"
    app:headerLayout="@layout/navigation_view_header"
    app:menu="@menu/menu_data"/>

我的ColorStateList在.res的子目录中,名为color。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:color="@color/primary"/>
    <item android:state_pressed="true" android:state_enabled="false" android:color="@color/primary_dark" />
    <item android:state_enabled="false" android:color="@color/primary_dark" />
    <item android:color="@android:color/white"/>
</selector>

我不知道出了什么问题,也找不到任何使用这些xml参数的文档。

我的目标是:

  1. 更改项目和图标的状态颜色
  2. 更改导航背景

http://www.google.com/design/spec/patterns/navigation-drawer.html#navigation-drawer-content

2个回答

9
您可能需要尝试使用以下内容替代android.support.design:itemIconTint
app:itemIconTint="@color/navigation_view_color_set"
app:itemTextColor="@color/navigation_view_color_set"

可以了。有没有想法如何更改菜单组之间线条的颜色? - Marcus Franzen
更改菜单组之间分隔线的颜色:https://dev59.com/FF0a5IYBdhLWcg3wFlRG - Marcus Franzen

0
在我的情况下,问题是我没有将支持设计库添加到项目中。

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