如果按下按钮,我会尝试切换按钮的背景.我建立了一个选择器,就像这里建议的答案:
Standard Android Button with a different color
最后我想把GradientDrawables放在里面,但出于调试目的我只想设置一个颜色,看看它是否正常工作.
这是我的选择器
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/red"/> <item android:state_focused="true" android:drawable="@color/white"/> <item android:state_pressed="true" android:drawable="@color/white"/> </selector>
不幸的是,这不起作用.我从我的按钮中将选择器设置为背景,并且只能看到它们的红色.我做错了什么(Build Target 2.1)
解决方法
把它放在最后
item android:drawable =“@ color / red”
我的意思是作为第三种选择,它会起作用.android从一开始就检查xml条件,第一个标签没有任何条件,所以它总是选择红色,所以你先把条件放在第一个然后再放入默认条件.