1. 引言
在 Flutter 中,Radio
是用于单选的按钮组件,适用于需要用户在多个选项中选择一个的场景,如表单、设置选项等。Radio
通过 value
和 groupValue
进行状态管理,并结合 onChanged
监听选中状态的变化。本文将介绍 Radio
的基本用法、主要属性及自定义样式。
2. Radio 的基本用法
Radio
组件的 value
用于标识单选按钮的选项值,groupValue
确定当前选中的值。
Dart
int selectedValue = 1;
Row(
children: [
Radio<int>(
value: 1,
groupValue: selectedValue,
onChanged: (int? value) {
setState(() {
selectedValue = value!;
});
},
),
Radio<int>(
value: 2,
groupValue: selectedValue,
onChanged: (int? value) {
setState(() {
selectedValue = value!;
});
},
),
],
)

3. 主要属性
属性 | 说明 |
---|---|
value |
选项的值 |
groupValue |
当前选中的值 |
onChanged |
选项变化时的回调函数 |
activeColor |
选中时的颜色 |
fillColor |
填充颜色 |
materialTapTargetSize |
点击区域大小 |
示例:
Dart
Radio<int>(
value: 1,
groupValue: selectedValue,
activeColor: Colors.blue,
onChanged: (int? value) {
setState(() {
selectedValue = value!;
});
},
)
4. 使用 RadioListTile 创建单选列表
RadioListTile
将 Radio
与 ListTile
结合,使单选按钮带有文本和描述。
Dart
RadioListTile<int>(
title: Text('选项 1'),
value: 1,
groupValue: selectedValue,
onChanged: (int? value) {
setState(() {
selectedValue = value!;
});
},
),
RadioListTile<int>(
title: Text('选项 2'),
value: 2,
groupValue: selectedValue,
onChanged: (int? value) {
setState(() {
selectedValue = value!;
});
},
)

5. 结论
Radio
是 Flutter 提供的单选按钮组件,适用于多个选项选择一个的场景。结合 RadioListTile
,可以提升 UI 体验。掌握 Radio
的基本用法和自定义样式,有助于构建更灵活的交互界面。
相关推荐
Flutter IconButton完全指南:高效使用与性能优化秘籍-CSDN博客文章浏览阅读1.4k次,点赞46次,收藏24次。IconButton 是一个带有图标的按钮组件,通常用于工具栏、导航栏或交互操作。IconButton 继承自 StatelessWidget,支持点击事件、大小、颜色等多种自定义属性。本文将介绍 IconButton 的基本用法、主要属性及自定义样式。https://shuaici.blog.csdn.net/article/details/146069934Flutter TextField 从入门到精通:掌握输入框的完整指南-CSDN博客文章浏览阅读918次,点赞39次,收藏29次。本文全面解析 Flutter TextField 控件的使用技巧,覆盖从基础到进阶的完整知识体系。入门部分讲解基础属性(controller、decoration)、键盘类型设置和文本监听;进阶部分深入探讨表单验证(Form+TextFormField)、自定义输入格式(正则表达式验证)、动态样式修改(圆角/图标/动画)以及高级功能(输入长度限制、防抖处理)。通过代码示例演示手机号输入验证、密码隐藏切换、输入掩码等实战场景,并提供多平台适配、性能优化和无障碍访问等最佳实践方案。_flutter textfield
https://shuaici.blog.csdn.net/article/details/146068520