flutter控件练习demo地址:github

Switch(开关)、SwitchListTile(带标题的开关) 和 AnimatedSwitch

一 Switch

1.1 简介

Switch “开关按钮”

  • 本身也是没有存储状态的 Widget 。需要通过有状态的父 Widget 来控制状态
  • 当 Switch 状态发生变化的时候 onChanged 会被调用 , 回调的参数是 bool ,true 表示 选中。 false 表示未选中
  • value 属性 表示 是否打开,通过控制这个来控制 Switch 的状态
  • 能点击。能滑动

1.2 属性

  • value: 来初始化此 Switch 是否被选中。true 表示选中 ,false 表示不选中
  • onChanged: 当 拖动改变状态时的回调。
  • activeColor: 当 value 是 true 时按钮的背景颜色。也就是开的状态时的颜色
  • activeTrackColor: 当 value 是 true 时 滑块的颜色
  • activeThumbImage: 当 value 是 true 时 滑块的图片
  • activeThumbImage: 当 value 是 true 时 滑块上的图片。 如果 activeColor 也设置了 , 以 activeThumbImage 为准 。如果设置的是网络图片的话。当 滑块 滑到这里 才开始加载。所以 没加载出图片的之前 ,以 activeColor 为准
  • inactiveThumbColor: 当 value 是 false 时 滑块的颜色。也就是开的状态时的颜色
  • **inactiveTrackColor:**当 value 是 false 时 滑道的颜色
  • **inactiveThumbImage:**当 value 是 false 时 滑块上的图片。 如果 inactiveThumbColor 也设置了 , 以 inactiveThumbImage 为准

二 SwitchListTile

2.1 简介

SwitchListTile “带标题的开关”

2.2 属性

  • value: 是否选中 是否打开
  • onChanged: 当打开关闭的时候的回调
  • activeColor: 选中时 滑块的颜色
  • activeTrackColor: 选中时 滑道的颜色
  • inactiveThumbColor: 未选中时 滑块的颜色
  • inactiveTrackColor: 未选中时 滑道的颜色
  • activeThumbImage: 选中时 滑块的图片
  • inactiveThumbImage: 未选中时 滑块的图片
  • title: 标题 典型的是 Text
  • subtitle: 副标题 在标题下面的 典型的是 Text
  • isThreeLine = false: 是不是三行, true 时: subtitle 不能为null, false时可以为 null
  • dense: 是否垂直密集居中
  • secondary: 左边的一个东西
  • selected = false: 如果为 true ,则 text 和 icon 都用 activeColor 时的color

三 demo图片

四 demo代码

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:fluttertoast/generated/i18n.dart';class SwitchDemo extends StatefulWidget {@overrideState<StatefulWidget> createState() {return TextFieldStateDemo();}
}class TextFieldStateDemo extends State {bool _isCheck;@overridevoid initState() {super.initState();_isCheck = false;}@overrideWidget build(BuildContext context) {// TODO: implement buildreturn Scaffold(appBar: AppBar(title: Text("Switch 和 SwitchListTile"),centerTitle: true,),body: Column(crossAxisAlignment: CrossAxisAlignment.center,children: <Widget>[Row(),SizedBox(height: 20,),Text("一:普通的Switch",style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20),),Switch(value: _isCheck,onChanged: _changed,),Text("二:特质的Switch",style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20),),Switch(//来初始化此 Switch 是否被选中。true 表示选中 ,false 表示不选中value: _isCheck,//当 拖动改变状态时的回调。onChanged: _changed,//当 value 是 true 时 滑块的颜色。也就是开的状态时的颜色activeColor: Colors.red,// 当 value 是 true 时 滑道的颜色activeTrackColor: Colors.blueAccent,// 当 value 是 true 时 滑块上的图片。 如果 activeColor 也设置了  , 以 activeThumbImage 为准// 如果设置的是网络图片的话。当 滑块 滑到这里 才开始加载。所以 没加载出图片的之前 ,以 activeColor 为准activeThumbImage: NetworkImage("https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3868620627,2694438302&fm=58"),// 当 value 是 false 时 滑块的颜色。也就是开的状态时的颜色inactiveThumbColor: Colors.amberAccent,// 当 value 是 false 时 滑道的颜色inactiveTrackColor: Colors.green,// 当 value 是 false 时 滑块上的图片。 如果 inactiveThumbColor 也设置了  , 以 inactiveThumbImage 为准inactiveThumbImage: AssetImage("images/hashiqi.jpg"),),Text("三:SwitchListTile",style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20),),SizedBox(width: 200,child: SwitchListTile(// 是否选中 是否打开value: _isCheck,// 当打开关闭的时候的回调onChanged: _changed,// 选中时 滑块的颜色activeColor: Colors.red,// 选中时 滑道的颜色activeTrackColor: Colors.black,// 选中时 滑块的图片
//              activeThumbImage: AssetImage("images/hashiqi.jpg"),// 未选中时 滑块的颜色inactiveThumbColor: Colors.green,// 未选中时 滑道的颜色inactiveTrackColor: Colors.amberAccent,// 未选中时 滑块的颜色inactiveThumbImage: AssetImage("images/hashiqi.jpg"),// 标题title: Text("标题"),// 副标题 在标题下面的
//              subtitle: Text("副标题"),// 是不是三行, true 时: subtitle 不能为null, false时可以为 null
//              isThreeLine: true,// 如果为 true ,则 text 和 icon 都用 activeColor 时的color
//              selected: true,// 是否垂直密集居中dense: true,// 左边的一个东西secondary: Icon(Icons.access_time),),),]),);}void _changed(isCheck) {setState(() {_isCheck = isCheck;});}
}复制代码

Flutter控件--Switch 和 SwitchListTile相关推荐

  1. Flutter - 控件之 Picker

    Flutter - 控件之 Picker CupertinoPicker 应用示例:选择性别 选择器picker,简单用于性别.省市地区.日期等选择功能. CupertinoPicker iOS风格的 ...

  2. 自定义Flutter控件

    在Flutter开发中,我们会经常和各种控件打交道,它们也能满足业务的大部分需求.但是,我们往往需要将多个控件组合起来,才能实现业务的需求,而且这样写出来的代码维护起来非常困难.因此,我们可以把那些需 ...

  3. android开关控件Switch和ToggleButton

    序:今天项目中用到了开关按钮控件,查阅了一些资料特地写了这篇博客记录下. 1.Switch <Switchandroid:id="@+id/bt"android:layout ...

  4. 4、Flutter - 控件基础 (二)ListView 列表展示数据、布局

    ListView 列表展示数据.布局 接上篇,几点注意事项与说明 1.创建工程项目的时候,存放路径不要有中文,有中文会有警告,而且后面可能会有一些未知的问题. 如果有中文路径,创建完工程移动工程位置的 ...

  5. 《Flutter 控件大全》第十个:AnimatedIcon

    如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...

  6. Android 开关控件Switch

    扣扣技术交流群:460189483 目录:     1.应用场景与概述     2.常用属性     3.简单使用     4.更改默认Switch的样式     5.自定义Switch      1 ...

  7. 《Flutter 控件大全》第八个:AnimatedCrossFade

    如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...

  8. 《Flutter 控件大全》第五十五个:InkWell和Ink

    如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...

  9. 《Flutter 控件大全》第五十二个:Hero

    如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...

最新文章

  1. 前端学python有什么用-学习和使用python的13个理由
  2. Mysql数据库“Communications link failure due to underlying exception”问题
  3. latex图片标题居中
  4. 重磅来袭,2018 年 6 月编程语言排行榜
  5. Jquery调用C#后台方法
  6. js用户密码强度验证函数
  7. Flink:动态表上的连续查询
  8. 前端试题-CSS试题(1)
  9. 幸福框架:可扩展的、动态的、万能的 编号生成器
  10. 制作软盘镜像文件的几种方法
  11. 计算机点击管理无效,win10开始菜单没反应,二种解决办法!
  12. vue v-model 双向绑定表单元素的数据:实质是绑定了value、checked、selected属性
  13. 办公室桌面计算机,我的办公室桌面(一切为了简洁)
  14. android仿微信发状态图片上传
  15. 腾讯QQ发起临时会话
  16. STM32启动代码学习
  17. Chromium for windows (2015)
  18. ybt1287 最低通行费
  19. 个税继续教育证书有哪些 计算机,个税专项附加扣除中继续教育哪些证书可以扣除呢?...
  20. 科技圈患上算法专利的“卡脖子PTSD”综合症

热门文章

  1. 又一届Google Cloud Next,李飞飞发布TPU 3.0,两大AutoML新品
  2. 干货 | 成为一名推荐系统工程师永远都不晚
  3. 课程 | 中科院教授带你快速入门机器学习
  4. 漫画 | 如何向外行解释产品经理频繁更改需求会令程序员很焦灼?
  5. ArrayList集合为什么不能使用foreach增加、删除、修改元素
  6. 聊聊 SpringCloud 中的父子容器
  7. 最新的NLP开源神器来了!
  8. 机器学习模型评估与超参数调优详解
  9. 太棒了!Jupyter 与 PyCharm 完美融合,Jupytext 来啦!
  10. 清华团队曝光「新冠病毒」3D高清结构照!这个恶魔已感染1亿地球人