我想做的是在用户按下按钮时更改按钮的颜色。我需要声明红色/绿色。按钮开始是红色的,如果你按下改变绿色,如果你再次按下返回到红色。如果再按一次,绿色....
我试图找到类似的东西,但找不到任何东西。 可以使用可绘制选择器来实现吗?
这是我在尝试,压完后不留颜色
<?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>
提前致谢
最佳答案
当按钮被按下时,它的状态变为“state_pressed”。 但是,对于 state_selected 不会发生这种情况,如果您想使用按钮和选定状态,则必须通过代码明确地将按钮的状态设置为选定状态,将 onClickListener 添加到您的按钮并在 onClick() 内部执行:
button.setSelected(!button.isSelected());
这将在每次按下按钮时切换选定状态。
关于android - 使用选择器更改按钮的颜色并保持此颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41349114/