Штатный список для рисования Android:state_enabled не работает в XML
Я пытаюсь добавить в свой существующий список состояния нарисованное отключенное состояние, и оно просто не работает.
Первоначально у меня был этот код:
<?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)
Для конструктора представления я устанавливаю этот список состояний, который можно переместить, и теперь я вижу отключенное изображение, но как только я установил представление включенным, оно снова не переключится на отключенное.
2 ответа
Решение
Попробуй это
<?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>
Хотя это действительно старый вопрос. На должен написать селектор соответственно.
- сначала отключенное состояние
- второе нажатие
нормальное состояние последнего