当前位置: 代码迷 >> Android >> NavigationView +选择器+选择的涟漪效果状态不起作用
  详细解决方案

NavigationView +选择器+选择的涟漪效果状态不起作用

热度:15   发布时间:2023-08-04 11:40:04.0

我已经搜索了所有内容,并尝试了NavigationView但是没有碰到运气。

itemIconTintitemTextColoritemBackground具有ripple效果。 但是问题是state selectedselector drawable不起作用

我还创建了drawable-v21并放入了ripple_navigation_selector.xml

我的目标是当再次打开抽屉时,先前选择的项目应为黄色,例如。 通知项目

main_layout.xml中的NavigationView

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

drawable-v21内部的ripple_navigation_selector.xml

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

drawable-v21内的navigation_selector.xml

<?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>

我认为您必须检查菜单项

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

为什么有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" /> 

我认为,如果删除“ 1”,它应该可以工作:

       ...
       app:itemBackground="@drawable/ripple_navigation_selector"
        />
  相关解决方案