【问题标题】:NavigationView + selector + ripple effect state selected not workingNavigationView + 选择器 + 波纹效果状态选择不起作用
【发布时间】:2016-01-23 18:32:02
【问题描述】:

我已经搜索了所有东西并进行了实验,但NavigationView 运气不佳。

itemIconTintitemTextColoritemBackground 使用 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.xmldrawable-v21

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

navigation_selector.xmldrawable-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>

【问题讨论】:

标签: android android-5.1.1-lollipop rippledrawable android-navigationview


【解决方案1】:

我认为您必须使菜单项可检查

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 2023-03-10
      相关资源
      最近更新 更多