ImageView设置Selector时enable状态无效

如题,一般两种原因造成的。

clickable问题

图片是否可点击,可以通过xml和java代码进行设置。

xml

android:clickable="true"  

java

imageView.setClickable(true);  

selector问题

无效selector代码,如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_money_red_flag"  />
    <item android:drawable="@drawable/ic_money_gray_flag" android:state_enabled="false" />
</selector>

修改selector,如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_money_gray_flag" android:state_enabled="false" />
    <item android:drawable="@drawable/ic_money_red_flag"  />
</selector>

或者 如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_money_red_flag" android:state_enabled="true" />
    <item android:drawable="@drawable/ic_money_gray_flag" android:state_enabled="false" />
</selector>

后面两种都是生效的,相信聪明的你已经发现有何不同了。

小结

  • default状态一般写在最下面一行
  • 给default同样设置state_enable属性

猜你喜欢

转载自blog.csdn.net/u010358168/article/details/80451315