flutter 开关Switch与复选框Checkbox

Flutter 移动跨平台开发技术分享

目前在西瓜视频上免费刊登 Flutter 系列教程,每日更新,欢迎关注接收提醒

【x1】点击查看提示

【x2】各种系列的教程

【x3】Flutter文章积累目录


【Flutter组件精讲【79】复选框CheckBox 1】

1 Switch 与 Checkbox 的共有属性配置说明

   activeColor → Color - 激活时原点的颜色。
   activeThumbImage → ImageProvider - 原点还支持图片,激活时的效果。
   activeTrackColor → Color - 激活时横条的颜色。
   inactiveThumbColor → Color - 非激活时原点的颜色。
   inactiveThumbImage → ImageProvider - 非激活原点的图片效果。
   inactiveTrackColor → Color - 非激活时横条的颜色。
   onChanged → ValueChanged - 改变时触发。
   value → bool - 切换按钮的值。

在接下来的文章篇幅中将定义两个变量来维护开关的状态以及复选框的状态,如下所示:

    bool _switchSelected = false; //维护单选开关状态
    bool _checkboxSelected = false; //维护复选框状态

2 开关 Switch

在这里插入图片描述

    Switch(
          //当前状态
          value: _switchSelected,
          // 激活时原点颜色
          activeColor: Colors.blue,
          inactiveTrackColor: Colors.blue.shade50,
          onChanged: (value) {
            //重新构建页面
            setState(() {
              _switchSelected = value;
            });
          },
        )


3 IOS 风格的 CupertinoSwitch

在这里插入图片描述

        CupertinoSwitch(
          value: _switchSelected,
          onChanged: (value) {},
        ),

4 SwitchListTile

SwitchListTile 是将 开关 Switch 、文本 Text 、还有图标水平线性排列的便捷组件

在这里插入图片描述

 new SwitchListTile(
   secondary: const Icon(Icons.shutter_speed),
   title: const Text('硬件加速'),
   value: _switchSelected,
   onChanged: (bool value) {
     setState(() {
       _switchSelected = !_switchSelected;
     });
   },
 ),


5 复选框 Checkbox

在这里插入图片描述

    Checkbox(
          value: _checkboxSelected,
          //选中时的颜色
          activeColor: Colors.red,
          onChanged: (value) {
            setState(() {
              _checkboxSelected = value;
            });
          },
        )

6 CheckboxListTile

在这里插入图片描述


      CheckboxListTile(
          secondary: const Icon(Icons.shutter_speed),
          title: const Text('硬件加速'),
          value: _checkboxSelected,
          onChanged: (bool value) {
            setState(() {
              _checkboxSelected = !_checkboxSelected;
            });
          },
        ),

目前在西瓜视频上免费刊登 Flutter 系列教程,每日更新,欢迎关注接收提醒

【x1】点击查看提示

【x2】各种系列的教程

【x3】Flutter文章积累目录


早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页