我用selector
制作了一个按钮
selector
如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/btn_select"
android:state_selected="true"
android:state_pressed="true"/>
<item android:drawable="@drawable/btn_normal"/>
</selector>
然后,我将按钮状态设置为如下所示:
btn.setSelected(true);
但按钮的背景未更改为btn_select
为什么呢?
答案 0 :(得分:2)
删除属性android:state_pressed="true"
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/btn_select"
android:state_selected="true"/>
<item android:drawable="@drawable/btn_normal"/>
</selector>
如果您指定android:state_pressed="true"
,则只有在按下按钮时才会更改背景。
答案 1 :(得分:0)
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/btn_select"
android:state_selected="true"
android:state_pressed="true"/>
<item android:drawable="@drawable/btn_normal"/>
</selector>
在您的xml文件中
android:background="@drawable/style_button"
在按钮标记
中使用此功能