刚才在给按钮设置背景的时使用selector发现没有反应:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_shape_bg"/>
<item android:drawable="@drawable/button_shape_pressed_bg" android:state_pressed="true"/>
</selector>
这是因为selector在执行的时候时有顺序的。当检测到第一个item满足条件时就会返回,不再继续执行。
解决方法:
第一种:在第一个item中添加android:state_pressed=”false”属性
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_shape_bg" android:state_pressed="false"/>
<item android:drawable="@drawable/button_shape_pressed_bg" android:state_pressed="true"/>
</selector>
第一种:将第一个item移动到最后
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_shape_pressed_bg" android:state_pressed="true"/>
<item android:drawable="@drawable/button_shape_bg"/>
</selector>