ImageView src с выделенным селектором игнорирует разрешенное состояние

При использовании селектора состояний как src для ImageView, enabled="false" игнорируется.

то есть. это не работает должным образом:

<ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:enabled="false"
        android:src="@drawable/state_drawable" >

P.S.: У меня есть уродливое обходное решение, я отправлю его как ответ в ближайшее время, если у вас есть что-то лучшее или объяснение этого поведения, пожалуйста, дайте мне знать.

Ответ 1

Попробуйте добавить свойство android: clickable = "true"

Ответ 2

Возможное обходное решение: используйте TextView с составным ресурсом:

<TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:drawableLeft="@drawable/state_drawable"
     android:enabled="false" />

Кажется, что это работает, и вытащить правильное выделение из state_drawable, но не очень интуитивно.

Ответ 3

Я просто добавил свойство:

android:background="@drawable/image_selector"

и "android: src" не нужно добавлять.

Теперь в вашем примере это должно выглядеть так:

<ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:background="@drawable/state_drawable" >

Надеюсь, что это поможет...