Flutter控件--Switch 和 SwitchListTile
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相关推荐
- Flutter - 控件之 Picker
Flutter - 控件之 Picker CupertinoPicker 应用示例:选择性别 选择器picker,简单用于性别.省市地区.日期等选择功能. CupertinoPicker iOS风格的 ...
- 自定义Flutter控件
在Flutter开发中,我们会经常和各种控件打交道,它们也能满足业务的大部分需求.但是,我们往往需要将多个控件组合起来,才能实现业务的需求,而且这样写出来的代码维护起来非常困难.因此,我们可以把那些需 ...
- android开关控件Switch和ToggleButton
序:今天项目中用到了开关按钮控件,查阅了一些资料特地写了这篇博客记录下. 1.Switch <Switchandroid:id="@+id/bt"android:layout ...
- 4、Flutter - 控件基础 (二)ListView 列表展示数据、布局
ListView 列表展示数据.布局 接上篇,几点注意事项与说明 1.创建工程项目的时候,存放路径不要有中文,有中文会有警告,而且后面可能会有一些未知的问题. 如果有中文路径,创建完工程移动工程位置的 ...
- 《Flutter 控件大全》第十个:AnimatedIcon
如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...
- Android 开关控件Switch
扣扣技术交流群:460189483 目录: 1.应用场景与概述 2.常用属性 3.简单使用 4.更改默认Switch的样式 5.自定义Switch 1 ...
- 《Flutter 控件大全》第八个:AnimatedCrossFade
如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...
- 《Flutter 控件大全》第五十五个:InkWell和Ink
如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...
- 《Flutter 控件大全》第五十二个:Hero
如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...
最新文章
- 前端学python有什么用-学习和使用python的13个理由
- Mysql数据库“Communications link failure due to underlying exception”问题
- latex图片标题居中
- 重磅来袭,2018 年 6 月编程语言排行榜
- Jquery调用C#后台方法
- js用户密码强度验证函数
- Flink:动态表上的连续查询
- 前端试题-CSS试题(1)
- 幸福框架:可扩展的、动态的、万能的 编号生成器
- 制作软盘镜像文件的几种方法
- 计算机点击管理无效,win10开始菜单没反应,二种解决办法!
- vue v-model 双向绑定表单元素的数据:实质是绑定了value、checked、selected属性
- 办公室桌面计算机,我的办公室桌面(一切为了简洁)
- android仿微信发状态图片上传
- 腾讯QQ发起临时会话
- STM32启动代码学习
- Chromium for windows (2015)
- ybt1287 最低通行费
- 个税继续教育证书有哪些 计算机,个税专项附加扣除中继续教育哪些证书可以扣除呢?...
- 科技圈患上算法专利的“卡脖子PTSD”综合症
热门文章
- 又一届Google Cloud Next,李飞飞发布TPU 3.0,两大AutoML新品
- 干货 | 成为一名推荐系统工程师永远都不晚
- 课程 | 中科院教授带你快速入门机器学习
- 漫画 | 如何向外行解释产品经理频繁更改需求会令程序员很焦灼?
- ArrayList集合为什么不能使用foreach增加、删除、修改元素
- 聊聊 SpringCloud 中的父子容器
- 最新的NLP开源神器来了!
- 机器学习模型评估与超参数调优详解
- 太棒了!Jupyter 与 PyCharm 完美融合,Jupytext 来啦!
- 清华团队曝光「新冠病毒」3D高清结构照!这个恶魔已感染1亿地球人