如何使选择器保持按下状态直到再次单击

时间:2019-03-30 23:13:55

标签: android android-button

我使用选择器来创建自定义按钮

columns

现在,我希望该按钮充当状态按钮,保持按下状态,直到再次单击以返回未按下状态为止。

如果可能的话,我想避免以编程方式达到此设置状态。

有没有办法使用选择器(或类似的东西)来做到这一点?

1 个答案:

答案 0 :(得分:0)

可以使用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>