按钮背景选择器

时间:2011-09-07 14:12:10

标签: android button background css-selectors drawable

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

2 个答案:

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

复制并更改使用您自己的资源。

希望我能帮忙:)

相关问题