5

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

这是一个简单的问题,但我花了很多时间在谷歌上搜索,但似乎找不到解决方案。它们都引用下面显示的相同 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>

因此,当一个人将鼠标悬停在一个按钮上时,它会显示为灰色。当一个人点击一个按钮时,点击后按钮的背景应该变灰,但我似乎无法让它变灰。按下后恢复正常状态。

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

4

2 回答 2

4

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

btn.setBackgroundResource(R.drawable.btn_selected_blue);
于 2012-06-08T11:27:37.153 回答
0

这有效(在您的 onClick 处理程序中):

button.setBackgroundResource(R.drawable.button_selected);

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

于 2012-06-07T21:17:36.497 回答