gpt4 book ai didi

android - 颜色状态列表 "event"未触发或处理

转载 作者:行者123 更新时间:2023-11-29 23:28:10 25 4
gpt4 key购买 nike

我遵循了这个答案:NavigationView theme selected item background style还有这个:Android - Navigation View item menu background color

考虑这个导航 View 。它使用颜色状态列表 color_state_menu

<android.support.design.widget.NavigationView
app:itemBackground="@color/color_state_menu"
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:menu="@menu/drawer_view">

这个颜色状态列表定义如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:drawable="@color/colorRoyalRed" />
<item android:drawable="@color/gray" />
</selector>

...当前使用的菜单项具有红色背景,而其他菜单项具有灰色背景。

但是,所有这些菜单项始终具有灰色背景。你知道为什么吗?

最佳答案

你需要做几件事:

  1. 使用 DrawableStateList 而不是 ColorStateList - 只需将 color_state_menu.xml 移动到 drawable 文件夹并更改

    app:itemBackground="@color/color_state_menu"

    app:itemBackground="@drawable/color_state_menu"
  2. 使用 android:state_checked 而不是 android:state_activated:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorRoyalRed" android:state_checked="true" />
    <item android:drawable="@color/gray" />
    </selector>
  3. drawer_view.xml

    中的每个菜单项添加android:checkable="true"

关于android - 颜色状态列表 "event"未触发或处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53143454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com