写selector的xml文件时,需注意item的顺序,不带状态的item放在最后,否则selector无效

    为按钮写了一个selector,一个正常状态,一个点击的状态,用了两张不同的图片。以求达到更好地用户体验。xml格式都正确,设置到ImageButton的src属性中。但是点击时图片并没有变成预想的那张。

     经过查找,原来是在写selector的xml时,item的顺序有个严格的要求:正常状态的item必须放到最后,否则将不产生效果

    至于原因,不是很清楚。可能是Android疏忽了的一个小细节。


<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
    android:state_focused="false"
    android:state_pressed="true" 
    android:drawable="@drawable/arrow_pressed"/>
   
    <!-- 正常状态的item必须放在最后,否则无法生效 -->
    <item android:drawable="@drawable/arrow_normal"/>
</selector>



正常状态:

 

点击状态:



你可能感兴趣的:(xml,用户体验)