Statelist drawable android:state_enabled不能在xml中工作

我正在尝试添加到我现有的statelist drawable,一个禁用状态,它只是不起作用.

最初,我有这个代码:

<?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)添加到视图的构造函数中,我将此状态列表设置为drwable,现在我看到禁用的图像,但是一旦我将视图设置为启用,它就不会再次切换到禁用状态.

最佳答案
试试这个

<?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_enabled="true" android:state_selected="true"/>
<item android:drawable="@drawable/store_item_background" android:state_enabled="true"/>
<item android:drawable="@drawable/store_item_background_disabled" android:state_enabled="false"/>

</selector>

转载注明原文:Statelist drawable android:state_enabled不能在xml中工作 - 代码日志