创建自定义单选按钮

Posted

技术标签:

【中文标题】创建自定义单选按钮【英文标题】:Create custom radio button 【发布时间】:2021-12-26 15:19:31 【问题描述】:

我正在尝试使用单选按钮组创建附加图像。在尝试了多种组合后,我无法达到预期的效果。 目的是在选择一个单选按钮时围绕实心圆创建一个圆形背景。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

单选按钮图像由StateListDrawable 控制。当单选按钮被选中 (state_checked="true") 时,将显示分配给选中状态的可绘制对象。当状态为“未选中”(state_checked="false")时,显示分配给“未选中”状态的可绘制对象。这是一个示例StateListDrawable

custom_radio_button.xml

<selector>
    <item android:state_checked="true" android:drawable="@drawable/ic_baseline_check_circle_24" />
    <item android:state_checked="false" android:drawable="@drawable/ic_baseline_check_circle_outline_24" />
</selector>

在这里,我刚刚从 Android Studio 中选择了两个矢量图形文件。您需要创建所需的选中/未选中图像。

现在,在布局的 XML 中,为单选按钮指定您要使用的 StateListDrawable

...some XML...
<RadioButton
    android:id="@+id/radioButton2"
    android:layout_
    android:layout_
    android:button="@drawable/custom_radio_button"
    android:checked="true"
    android:text="RadioButton 1" />
...more XML...

您需要将此单选按钮及其姐妹放在一个单选组中。

将它们放在一起给出以下内容:

【讨论】:

以上是关于创建自定义单选按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何创建自定义 Android 单选按钮?

scss 创建自定义键盘访问单选按钮

跨多个自定义组件使用单选按钮组功能

自定义单选按钮:如何取消选中? (复选框黑客)[重复]

多个提示的单选按钮自定义样式

根据 WooCommerce 中的自定义结帐单选按钮和文本字段设置动态费用