如果按下按钮,我会尝试切换按钮的背景。我建立了一个选择器,就像这里建议的答案: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)
答案 0 :(得分:20)
把它放在最后
item android:drawable =“@ color / red”
我的意思是作为第三种选择,它会起作用。 android从一开始就检查xml条件,第一个标签没有任何条件,因此它总是选择红色,所以你先把条件放在第一个然后是默认条件。
答案 1 :(得分:1)
这是我使用的代码,它的效果非常好。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_clicked"
android:state_pressed="true" android:state_enabled="true" />
<item android:drawable="@drawable/button" android:state_enabled="true" />
</selector>
这里我使用我用photoshop作为背景制作的两张图片
第一个是 button_clicked ,第二个是按钮
复制并更改使用您自己的资源。
希望我能帮忙:)