Skip to content

单选按钮 (RadioButton)

源:Radio button

单选按钮允许用户从一组选项中选择一个选项。

单选按钮示例


代码实现

单选按钮通常需要配合 RadioGroup 使用,以实现互斥选择逻辑。

xml
<RadioGroup
    android:id="@+id/radioGroup"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <RadioButton
        android:id="@+id/radio1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选项 1" />

    <RadioButton
        android:id="@+id/radio2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选项 2" />

</RadioGroup>
kotlin
// 获取当前选中的 ID
val selectedId = radioGroup.checkedRadioButtonId

// 监听变化
radioGroup.setOnCheckedChangeListener { group, checkedId ->
    when(checkedId) {
        R.id.radio1 -> { /* 选择了选项 1 */ }
    }
}

核心属性

属性描述默认值
app:buttonTint按钮着色?attr/colorOnSurface (未选) / ?attr/colorPrimary (选中)
app:useMaterialThemeColors是否强制应用 Material 主题颜色true

交互与辅助功能

单选按钮支持多种交互状态:启用、禁用、悬停、聚焦和按下。

状态对比图

辅助功能建议

单选按钮应始终配有描述性的 android:text 标签。如果需要节省空间,请考虑使用下拉菜单(Exposed Dropdown Menu)。