我使用选择器来创建自定义按钮
<item android:drawable="@drawable/button_bg_selected" android:state_selected="true"></item>
<item android:drawable="@drawable/button_bg_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/button_bg_normal"></item>
现在我希望按钮作为状态按钮保持在按下状态,直到再次单击以返回未按下状态。
如果可能,我想避免以编程方式实现此设置状态。
有没有办法使用选择器(或类似的东西)来做到这一点?
你能用ToggleButton代替Button吗?
layout.xml
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:textOff="done"
android:textOn="done"
android:background="@drawable/test_selector"/>
test_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- on checked -->
<item
android:state_checked="true"
android:state_pressed="false"
android:drawable="@drawable/button_bg_selected" />
<!-- normal -->
<item
android:state_checked="false"
android:state_pressed="false"
android:drawable="@drawable/button_bg_normal" />
<!-- pressed -->
<item
android:state_pressed="true"
android:drawable="@drawable/button_bg_pressed" />
</selector>