当前位置: 首页 > 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(() {});
         }),
   )

总结

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

http://www.dtcms.com/a/54.html

相关文章:

  • 二叉搜索树——C++
  • 开发和测试争抢环境?是时候进行多环境建设了
  • 【网络篇】第六篇——网络套接字编程(二)(UDP详解)
  • (最新版2022版)剑指offer之队列 栈题解
  • WinForm应用实战开发指南 - 教你如何实现表头的全选操作?
  • 刷题笔记之三(统计回文+连续最大和+查找组成一个偶数最接近的两个素数+把字符串转换成整数+不要二)
  • 猜数字小游戏(加强版)它来了
  • 学习笔记-常见安全设备渗透方法
  • 《计算机视觉基础知识蓝皮书》第10篇 模型部署基础
  • 机器学习HMM模型
  • Linux系统中利用open函数多次打开同一个文件操作方法
  • React-Router之BrowserRouter 与 HashRouter切分方式和基本概念
  • 【数据结构基础】之数组介绍,生动形象,通俗易懂,算法入门必看
  • 鏖战 Web 性能优化:HTTP
  • CBAM: 卷积块注意模块
  • 总结机器学习优化器Optimizer
  • 【前端验证】被动响应型uvm_model环境搭建——以握手型ram_model为例
  • 黑胶歌曲没权限,还好我会Python,一分钟一个歌单,硬盘有点不够用了~
  • 第二站:分支与循环(终幕)一些经典的题目
  • ~外中断~
  • 【Linux】软件包管理器 yum 与编辑器 vim 的基本使用
  • 基于MATLAB的指纹识别算法仿真实现
  • 关于xilinx BRAM IP的延迟以及流程
  • 基于马科维茨与蒙特卡洛模型的资产最优配置模型(Matlab代码实现)
  • 相对于java,C++中的那些神奇语法
  • 【0136】【libpq】startup packet应用机制及构建过程(6)
  • 【JavaWeb】Tomcat
  • 反应性叠氮化物N3-PEG-NH2,Azide-PEG-Amine,叠氮-聚二乙醇-胺
  • Eclipse的下载与安装
  • 【物联网开发】物联网开发从业者参考软件技能(总结)