我想要做的是如果被用户按下则更改按钮的颜色。我需要说明红色/绿色。按钮开始为红色,如果按下更改绿色,如果再次按下则返回红色。如果再次按,绿色....
我试图找到类似的东西,但我找不到任何东西。 是否可以使用drawable选择器?
这是我尝试完成新闻时不会保持颜色
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- green state -->
<item
android:drawable="@drawable/btn_selector_green"
android:state_selected="true"></item>
<!-- green state -->
<item
android:drawable="@drawable/btn_selector_green"
android:state_pressed="true"></item>
<!-- red state -->
<item
android:drawable="@drawable/btn_selecto_come_back"></item>
</selector>
提前致谢
答案 0 :(得分:1)
按下按钮时,其状态变为&#34; state_pressed&#34;。 但是对于state_selected不会发生这种情况,如果要使用Button和所选状态,则必须通过代码显式设置Button的状态,在按钮上添加onClickListener,并在onClick()内部执行:
button.setSelected(!button.isSelected());
每次按下按钮时,都会切换所选状态。
答案 1 :(得分:0)
你为什么不这样做?
只需在onClickListener
中使用一个简单的选择器如果(点击= 1)
button.setBackgroundResource(R.drawable.green);
否则
button.setBackgroundResource(R.drawable.red);