itemBackground
,itemIconTint
和itemTextColor
是可以設置簡單的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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<!-- Other layout views -->
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:itemBackground="@drawable/my_ripple"
app:itemIconTint="#2196f3"
app:itemTextColor="#009688"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_view" />
</android.support.v4.widget.DrawerLayout>
例 創建一個新*.xml file in /res/color
- 讓我們將其命名爲state_list.xml
- 具有以下內容:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- This is used when the Navigation Item is checked -->
<item android:color="#009688" android:state_checked="true" />
<!-- This is the default text color -->
<item android:color="#E91E63" />
</selector>
和簡單地引用這樣的:app:itemTextColor="@color/state_list"
的itemIconTint
也是如此。 itemBackground
需要資源ID。
這讓我們更接近解決方案,但並不完全在那裏。是的,通過這個我們可以改變子菜單的**標題**行/項目的顏色,但我們無法區分子菜單行/項目。目標是更改*標題*行/項目的背景顏色,使其看起來不同於其子菜單行/項目之一。一世 –