Android:如何在组中创建类似单选按钮的按钮?

ero*_*ros 5 android

是否可以在不使用图像的情况下创建类似单选按钮的按钮?希望在选择时处于按下状态。然后当我单击其他选项时恢复正常状态。

Sam*_*ICA 4

只需包含单选按钮在不同状态下的相应可绘制对象(即聚焦、按下、选中或正常)。将这些包含在 a 中selector.xml以指定相应状态的按钮外观,并将该 xml 包含在android:background按钮的属性中。这应该可以解决所有问题...!:)

检查此链接以更好地理解该方法:更改复选框的外观 (它是针对复选框给出的,但类似的内容也适用于作为单选按钮的按钮)。

编辑:

定义round_button.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:state_focused="true"
        android:drawable="@drawable/roundbutton_on_background_focus_yellow" />

    <item android:state_checked="false" android:state_focused="true"
        android:drawable="@drawable/roundbutton_off_background_focus_yellow" />

    <item android:state_checked="false" 
        android:drawable="@drawable/roundbutton_off_background" />

    <item android:state_checked="true"
        android:drawable="@drawable/roundbutton_on_background" />
</selector>
Run Code Online (Sandbox Code Playgroud)

然后,无论您需要在何处包含该按钮,只需添加以下内容:

<Button android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/round_button"
    android:checked="true"/>
Run Code Online (Sandbox Code Playgroud)

[PS:不要忘记包含圆形按钮的可绘制对象,您必须自己搜索它们,或者从链接中给出的默认文件(.android)中获取]