如何在android中单击时更改按钮颜色

时间:2011-04-20 08:59:45

标签: android button widget

默认情况下,单击按钮时,橙色之类的按钮会短时间环绕按钮,表示单击了按钮。但是当按钮包含背景图像时,此功能无效。这也发生在列表视图中。为什么?有任何想法吗? TIA
我使用了 setBackgroundColor(Color.BLUE); 但是这里应用的颜色并没有消失......

3 个答案:

答案 0 :(得分:5)

您需要使用选择器作为后台资源:

<?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/button_pressed" />
    <item android:state_focused="true" android:drawable="@drawable/button_focus" />
    <item android:drawable="@drawable/button_normal" />
</selector>

此选择器使用3个单独的drawable来更改按钮的图像,您可以使用相同的图像进行按下和聚焦。

您需要将此XML放入drawables目录并将其用作按钮的背景。

有关其他解决方案,请参阅:Standard Android Button with a different color

答案 1 :(得分:1)

我也有同样的问题。因此,我不是设置背景颜色,而是包含三种不同颜色的按钮三个图像,因此基于状态聚焦,按下,默认相应的图像将替换另一个。它看起来像是按钮颜色的变化。

**<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/c2"
          android:state_pressed="true" />
    <item android:drawable="@drawable/c1"
          android:state_focused="true" />
    <item android:drawable="@drawable/c1" />
</selector>**

以上是xml文件的内容,必须将其分配给相应按钮的背景 的机器人:背景=“@绘制/ drawable_button

希望这可能对你有所帮助

答案 2 :(得分:0)

检查此链接..您可以将橙色更改为红色......或任何其他颜色  此链接http://android-journey.blogspot.com/2009/12/android-selectors.html检查

:     :     :     :