我有一个带有子标题的导航视图,我想要更改文本颜色,我尝试了所有我知道但没有任何作用。
我想改变" sub"文本颜色和列表分隔符颜色。
有什么想法吗?
我的代码:
menu.xml
<?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/navigation_item_1"
android:icon="@mipmap/ic_launcher"
android:checked="true"
android:title="teste"/>
<item
android:id="@+id/navigation_item_2"
android:icon="@mipmap/ic_launcher"
android:title="teste"/>
</group>
<item
android:id="@+id/navigation_subheader"
android:title="sub">
<menu>
<item
android:id="@+id/navigation_sub_item_1"
android:icon="@mipmap/ic_launcher"
android:title="teste"/>
<item
android:id="@+id/navigation_sub_item_2"
android:icon="@mipmap/ic_launcher"
android:title="teste"/>
</menu>
</item>
</menu>
activity_main.xml
[...]
<android.support.design.widget.NavigationView
android:id="@+id/navigation"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="top"
android:nestedScrollingEnabled="true"
app:menu="@menu/activity_main_drawer"
app:headerLayout="@layout/nav_header_main"
app:itemTextColor="@color/menu_item"
app:itemIconTint="@color/headerMenuTextDisabled"
android:layout_above="@+id/version"
/>
[...]
menu_item.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/headerMenuText" android:state_pressed="true"/>
<item android:color="@color/headerMenuTextDisabled" android:state_enabled="false"/>
<item android:color="@color/headerMenuText"/>
</selector>
答案 0 :(得分:3)
<item name="android:textColorSecondary">#FF0000</item> would change the sub header title color of navigation view.
答案 1 :(得分:1)
您可以为导航抽屉创建自定义主题,并将 textColorSecondary 设置为您想要的颜色。
在themes.xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="100dp"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="TEXTVIEW-1" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_toLeftOf="@id/textView1"
android:layout_marginRight="1dp"
android:text="TEXTVIEW-2" />
</RelativeLayout>
</LinearLayout>
在AndroidManifest.xml中
<resources>
<style name="NavigationDrawerTheme" parent="YourOwnBaseTheme">
<item name="android:textColorSecondary">#FFF000</item>
</style>
</resources>
或者你可以从导航抽屉的第三方实现中受益,它已经解决了这个问题以及许多其他问题(例如分隔颜色):