17

当使用状态选择器作为 src 时ImageViewenabled="false"将被忽略。

即这不能正常工作:

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

PS: 我有一个丑陋的解决方法,我会尽快将其作为答案发布,如果您对此行为有更好的或解释,请告诉我。

4

4 回答 4

24

尝试添加属性 android:clickable="true"

于 2012-05-03T10:47:14.233 回答
2

可能的解决方法:将 aTextView与复合可绘制对象一起使用:

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

这似乎可行,并从 state_drawable 中提取正确的可绘制对象,但不是很直观。

于 2012-05-03T10:39:48.593 回答
2

我刚刚添加了以下属性:

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" >

希望能帮助到你...

于 2015-06-23T09:07:15.230 回答
0

对我来说只有这个:

image.setClickable(false); 

For ImegeView android:enabled="false" for some reason doesn't work.

于 2021-09-21T16:09:50.933 回答