点击后,android-change按钮背景颜色

时间:2012-06-07 21:14:45

标签: android android-button

问题:我想在按下按钮后更改按钮的背景颜色。

这是一个简单的问题,但我花了很多时间在谷歌上搜索,我似乎无法找到解决方案。它们都引用下面显示的相同XML。

我的XML如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/black_button_pressed" android:state_focused="true" />
    <item android:drawable="@drawable/black_button_pressed" android:state_pressed="true" />
    <item android:drawable="@drawable/black_button_normal"/>
</selector>

因此,当一个人盘旋在按钮上时,它会显示为灰色。当一个人点击一个按钮时,按钮的背景应该在点击后显示为灰色,但我似乎无法将其显示为灰色。按下后返回正常状态。

你们有任何提示和/或指示来帮助我吗?

2 个答案:

答案 0 :(得分:3)

在android中,事件完成后UI的状态不会持久存在。例如,您可以处理button click事件并突出显示该按钮,但一旦触发Up事件,它将返回到正常状态。因此,据我所知,唯一的选择是通过设置不同的drawable resource来更改按钮的背景。

btn.setBackgroundResource(R.drawable.btn_selected_blue);

答案 1 :(得分:0)

这适用于(在你的onClick处理程序中):

button.setBackgroundResource(R.drawable.button_selected);

然而,可能有更好的方式。