当前位置: 首页 > news >正文

Flutter 输入组件 Radio 详解

1. 引言

        在 Flutter 中,Radio 是用于单选的按钮组件,适用于需要用户在多个选项中选择一个的场景,如表单、设置选项等。Radio 通过 valuegroupValue 进行状态管理,并结合 onChanged 监听选中状态的变化。本文将介绍 Radio 的基本用法、主要属性及自定义样式。

2. Radio 的基本用法

    Radio 组件的 value 用于标识单选按钮的选项值,groupValue 确定当前选中的值。

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点击区域大小

示例:

Radio<int>(
  value: 1,
  groupValue: selectedValue,
  activeColor: Colors.blue,
  onChanged: (int? value) {
    setState(() {
      selectedValue = value!;
    });
  },
)

4. 使用 RadioListTile 创建单选列表

    RadioListTileRadioListTile 结合,使单选按钮带有文本和描述。

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

相关文章:

  • 2018扬州大学876农业机械学概论填空名词解释简答
  • 文件I/O--C++的文件操作
  • 风电资源评估的关键指标及其应用
  • Log4j2 的核心实现和源码分析
  • 电源滤波器在医用电气设备中的应用
  • HTML5 canvas圆形泡泡动画背景特效
  • 【Arm+Qt+Opencv】基于人脸识别考勤系统实战
  • Android系统深度定制:内置Google TTS语音引擎并设为默认的终极指南
  • 【Git】基础使用
  • 国际机构Gartner发布2025年网络安全趋势
  • GaussDB数据库表设计与性能优化实践
  • [特殊字符] C++ 常见 Socket 错误与优化指南
  • [深度学习]特征提取和无监督
  • 如何让机器像人类一样感知声调颤抖与嘴角抽动的同步情感表达?
  • 如何确保异步任务在 HTTP 返回后继续执行?context.WithoutCancel
  • 常见框架漏洞之五:中间件
  • 操作系统必知的面试题
  • 【STM32】初识STM32
  • Spring MVC请求与响应全解析:从参数绑定到异常处理
  • 蓝桥杯历届真题 填充#贪心算法
  • 多家外资看好中国市场!野村建议“战术超配”,花旗上调恒指目标价
  • 上海北外滩开发建设五周年交出亮眼答卷,未来五年有何新目标?
  • 智能手表眼镜等存泄密隐患,国安部提醒:严禁在涉密场所使用
  • 朝着解决问题的正确方向迈进——中美经贸高层会谈牵动世界目光
  • 城市轨道交通安全、内河港区布局规划、扎实做好防汛工作……今天的上海市政府常务会议研究了这些重要事项
  • 长沙查处疑似非法代孕:有人企图跳窗,有女子被麻醉躺手术台