8

Ho cercato tutto e sperimentato ma non ho avuto fortuna con NavigationView.NavigationView + selector + stato effetto ondulazione selezionato non funzionante

itemIconTint, itemTextColor e itemBackground con effetto ripple. ma il problema è state selected non funziona in selector drawable

Ho anche creato drawable-v21 e mettere ripple_navigation_selector.xml

Il mio obiettivo è quando è aperto il cassetto di nuovo precedente elemento selezionato deve essere in colore giallo ad es. Comunicazioni voce

enter image description here

NavigationView all'interno 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 all'interno drawable-v21

<item 
    android:id="@android:id/mask" 
    android:drawable="@drawable/navigation_selector"/> 
<item android:drawable="@drawable/navigation_selector"/> 

navigation_selector.xml all'interno stringa 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> 

colore di nome left_light_yellow

<color name="left_light_yellow">#F6CE20</color> 
+0

avete risolto questo problema? – UdiT

+0

funziona senza ripple –

+0

Ho aperto una domanda correlata: http://stackoverflow.com/questions/37796870/navigationview-ripple-lost-in-support-library-23-1-0-upate –

risposta

2

Credo che bisogna fare i vostri voci di menu verificabili

<item 
     android:id="@+id/wishlist" 
     android:checkable="true" 
     android:title="Wishlist" /> 
0

Perché hai app1?

<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" 
     /> 

Penso che se si rimuove il "1" dovrebbe funzionare:

 ... 
     app:itemBackground="@drawable/ripple_navigation_selector" 
     />