问题:我想在按下按钮后更改按钮的背景颜色。
这是一个简单的问题,但我花了很多时间在谷歌上搜索,我似乎无法找到解决方案。它们都引用下面显示的相同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>
因此,当一个人盘旋在按钮上时,它会显示为灰色。当一个人点击一个按钮时,按钮的背景应该在点击后显示为灰色,但我似乎无法将其显示为灰色。按下后返回正常状态。
你们有任何提示和/或指示来帮助我吗?
答案 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);
然而,可能有更好的方式。