8

私はすべてのものを検索して実験しましたが、うまくいきませんでしたNavigationView

itemIconTintitemTextColorそして効果的にitemBackground動作しrippleます。しかし、問題はstate selected機能していませんselector drawable

私も作成drawable-v21して入れましたripple_navigation_selector.xml

私の目標は、引き出しを再度開いたときに、前に選択したアイテムを黄色にすることです。お知らせ項目

ここに画像の説明を入力

NavigationViewmain_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>
4

2 に答える 2

5

メニュー項目をチェック可能にする必要があると思います

<item
        android:id="@+id/wishlist"
        android:checkable="true"
        android:title="Wishlist" />
于 2016-03-08T09:07:59.680 に答える