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

问题描述 投票:-1回答:1

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

 <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>

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

如果可能,我想避免以编程方式实现此设置状态。

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

android android-button
1个回答
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>
© www.soinside.com 2019 - 2024. All rights reserved.