Штатный список для рисования 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>

Хотя это действительно старый вопрос. На должен написать селектор соответственно.

  1. сначала отключенное состояние
  2. второе нажатие
  3. нормальное состояние последнего

Другие вопросы по тегам