我正在尝试添加到我现有的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>