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

【Flutter】【widget】Checkbox 和 CheckboxListTile 复选框快速学习一下

文章目录

  • 前言
  • 一、Checkbox ,CheckboxListTile 是什么?
  • 二、使用步骤
    • 1.Checkbox
    • 2.CheckboxListTile
    • 3.三态
  • 总结


在这里插入图片描述

前言


一、Checkbox ,CheckboxListTile 是什么?

Checkbox 复选框,
CheckboxListTile :添加了checkbox 的ListTile widget

二、使用步骤

1.Checkbox

代码如下(示例):

  Checkbox(
        activeColor: Colors.amberAccent, //选中的颜色
        fillColor: MaterialStateProperty.all(Colors.pink), //边框的颜色
        checkColor: Colors.green, //打钩的颜色
        focusColor: Colors.indigo,
        hoverColor: Colors.blue, //鼠标在上面,整个波纹显示的颜色
        value: checkS1,
        onChanged: (bool? value1) {
          checkS1 = value1!;
          setState(() {});
        }),

在这里插入图片描述
在这里插入图片描述

2.CheckboxListTile

通过Container 给 CheckboxListTile 加一个圆角的,看上去比较好看,
点击整个title 都可以触发onChanged
代码如下(示例):

Container(
     //给CheckboxListTile加个圆角比较好看
     decoration: const BoxDecoration(
         borderRadius: BorderRadius.all(Radius.circular(15)),
         color: Colors.redAccent),
     child: CheckboxListTile(
         // shape: const RoundedRectangleBorder(
         //     borderRadius: BorderRadius.all(
         //         Radius.circular(15))), //整个CheckboxListTile的相撞
         title: const Text('标识内容'),
         subtitle: const Text('详细的内容'),
         secondary: const Icon(Icons.near_me),
         checkboxShape: const RoundedRectangleBorder(
             borderRadius: BorderRadius.all(
                 Radius.circular(15))), //CheckBox的形状也可以设置
         value: checkS1,
         onChanged: (bool? value1) {
           //点击整个title 都可以触发该方法
           checkS1 = value1!;
           setState(() {});
         }),
   )

该处使用的url网络请求的数据。

3.三态

checkbox 其实是有三种状态的,一直是选中,未选中,还有一种是null,相当于未操作的提示。
tristate: true,之后才会实现,这样onchanged的value 就可能是null的情况:就会出现如下图的样式

在这里插入图片描述

  bool? checkS1 = false;


 Container(
     //给CheckboxListTile加个圆角比较好看
     decoration: const BoxDecoration(
         borderRadius: BorderRadius.all(Radius.circular(15)),
         color: Colors.redAccent),
     child: CheckboxListTile(
         // shape: const RoundedRectangleBorder(
         //     borderRadius: BorderRadius.all(
         //         Radius.circular(15))), //整个CheckboxListTile的相撞
         title: const Text('标识内容'),
         subtitle: const Text('详细的内容'),
         secondary: const Icon(Icons.near_me),
         checkboxShape: const RoundedRectangleBorder(
             borderRadius: BorderRadius.all(
                 Radius.circular(15))), //CheckBox的形状也可以设置
         value: checkS1,
         tristate: true,
         onChanged: (bool? value1) {
           //点击整个title 都可以触发该方法
           checkS1 = value1;
           setState(() {});
         }),
   )

总结

欢迎关注,留言,咨询,交流!
在这里插入图片描述

相关文章:

  • 二叉搜索树——C++
  • 开发和测试争抢环境?是时候进行多环境建设了
  • 【网络篇】第六篇——网络套接字编程(二)(UDP详解)
  • (最新版2022版)剑指offer之队列 栈题解
  • WinForm应用实战开发指南 - 教你如何实现表头的全选操作?
  • 刷题笔记之三(统计回文+连续最大和+查找组成一个偶数最接近的两个素数+把字符串转换成整数+不要二)
  • 猜数字小游戏(加强版)它来了
  • 学习笔记-常见安全设备渗透方法
  • 《计算机视觉基础知识蓝皮书》第10篇 模型部署基础
  • 机器学习HMM模型
  • Linux系统中利用open函数多次打开同一个文件操作方法
  • React-Router之BrowserRouter 与 HashRouter切分方式和基本概念
  • 【数据结构基础】之数组介绍,生动形象,通俗易懂,算法入门必看
  • 鏖战 Web 性能优化:HTTP
  • CBAM: 卷积块注意模块
  • 总结机器学习优化器Optimizer
  • 【前端验证】被动响应型uvm_model环境搭建——以握手型ram_model为例
  • 黑胶歌曲没权限,还好我会Python,一分钟一个歌单,硬盘有点不够用了~
  • 第二站:分支与循环(终幕)一些经典的题目
  • ~外中断~
  • 龚正盛秋平王晓真共同启动2025国际消费季暨第六届上海“五五购物节”
  • 韩国经济副总理崔相穆宣布辞职
  • 五一当天1372对新人在沪喜结连理,涉外婚姻登记全市铺开
  • 上海:以税务支持鼓励探索更多的创新,助力企业出海
  • 五一去哪儿| 追着花期去旅行,“赏花经济”绽放文旅新活力
  • 屠呦呦当选美国国家科学院外籍院士