2011-09-07 91 views
5

如果按下按钮,我会尝试切换按钮的背景。我建立一个选择器就像这里提供的答案: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> 

不幸的是,这是行不通的。我将“选择器”设置为“我的按钮的背景”,只能以红色看到它们。我在做什么错(构建目标2.1)

回答

19

把这个末

项目机器人:可绘制=“@色/红色”

我的意思是作为第三个选项,它会工作。 android从一开始就检查xml条件,第一个标签没有任何条件,所以它总是会选择红色,所以你先放条件,然后是默认条件。

+0

嗯,这并不工作,因为现在他们是白色所有的时间 –

+0

正在专注你的按钮? –

+0

我不这么认为。我有两个按钮,它们都是白色的,点击时没有任何变化 –

0

这里是我使用的代码,它工作得很好。

<?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,第二个是按钮

复制它,改变使用自己的资源。

希望我能帮助:)