私はすべてのものを検索して実験しましたが、うまくいきませんでしたNavigationView
。
itemIconTint
、itemTextColor
そして効果的にitemBackground
動作しripple
ます。しかし、問題はstate selected
機能していませんselector drawable
私も作成drawable-v21
して入れましたripple_navigation_selector.xml
私の目標は、引き出しを再度開いたときに、前に選択したアイテムを黄色にすることです。お知らせ項目
NavigationView
main_layout.xml 内
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:background="@color/black"
app:headerLayout="@layout/header"
app:itemIconTint="@drawable/navigation_view_icon_tint_selector"
app:itemTextColor="@drawable/navigation_view_text_selector"
app:menu="@menu/drawer"
app1:itemBackground="@drawable/ripple_navigation_selector"
/>
ripple_navigation_selector.xml
中身drawable-v21
<item
android:id="@android:id/mask"
android:drawable="@drawable/navigation_selector"/>
<item android:drawable="@drawable/navigation_selector"/>
navigation_selector.xml
中身drawable-v21
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@color/left_light_yellow" android:state_pressed="true"></item>
<item android:drawable="@color/left_light_yellow" android:state_activated="true"></item>
<item android:drawable="@color/left_light_yellow" android:state_checked="true"></item>
<item android:drawable="@android:color/black"></item>
名前付きの色文字列left_light_yellow
<color name="left_light_yellow">#F6CE20</color>