gpt4 book ai didi

android - Statelist 可绘制 android :state_enabled not working in xml

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:38 28 4
gpt4 key购买 nike

我正在尝试将禁用状态添加到我现有的状态列表可绘制对象中,但它不起作用。

最初,我有这段代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/store_item_background_selected" android:state_selected="true"/>
<item android:drawable="@drawable/store_item_background"/>
</selector>

它对选中的和未选中的都非常有效。

现在我想像这样添加 android:state_enabled="false":

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/store_item_background_selected" android:state_selected="true"/>
<item android:drawable="@drawable/store_item_background" android:state_enabled="true"/>
<item android:drawable="@drawable/store_item_background_disabled"/>
</selector>

它永远不会切换到禁用的图像。

有什么想法吗?

编辑

我将 setEnabled(false) 添加到 View 的构造函数中 我正在设置这个状态列表 drwable 现在我看到禁用的图像,但是一旦我将 View 设置为启用,它就不会再次切换到禁用状态。

最佳答案

虽然这是一个非常古老的问题,但应该按以下顺序编写一个选择器:

  1. 首先是残疾状态
  2. 第二个按下状态
  3. 正常状态最后
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:exitFadeDuration="@android:integer/config_shortAnimTime">
<item android:drawable="@color/due_gray" android:state_enabled="false" />
<item android:drawable="@color/whizdm_primary_dark_color" android:state_pressed="true" />
<item android:drawable="@color/whizdm_primary_color" />
</selector>

关于android - Statelist 可绘制 android :state_enabled not working in xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12383204/

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