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

switch组件的功能与用法

文章目录

  • 1 概念介绍
  • 2 使用方法
  • 3 示例代码

我们在上一章回中介绍了PageView这个Widget,本章回中将介绍Switch Widget.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1 概念介绍

我们在这里介绍的Switch是指左右滑动的开关,常用来表示某项设置是打开还是关闭。Flutter中使用Switch类表示该Widget。本章回中将详细介绍它的用法。

2 使用方法

和其它和Widget一样,Switch提供了一些属性来控制自己,接下来我们将介绍这些常用的属性:

  • value属性,该属性表示开关的状态,它有两个值true和false,分别表示Switch打开和关闭;
  • onChanged属性,该属性是一个方法,当开关的状态发生变化时回调它,从方法的参数中可以得到开关的状态;
  • activeColor属性,该属性表示开关打开时的颜色,如果不设置默认为绿色;
  • inactiveThumbColor属性,该属性表示开关关闭时图片的颜色,如果不指定默认为灰色;
  • inactiveTrackColor属性,该属性表示开关关闭时轨道的颜色,如果不指定默认为灰色;
    注意:开关打开时的颜色通过一个属性可以控制,关闭时的颜色通过两个属性来控制。我们在这里说的图片是指开关上的小圆形,该图片可以通过相关的属性来修改。轨道
    是指开关滑动时的轨迹。上面介绍的属性中前两个是必选属性,其它属性是可选属性;

3 示例代码

Widget build(BuildContext context) {return Scaffold(appBar: AppBar(backgroundColor: Colors.purpleAccent,title: const Text("Example of Switch Widget"),),body: Container(color: Colors.lightBlue,alignment: Alignment.center,width: 92,height: 92,child: Switch(//开关打开时的颜色activeColor: Colors.purpleAccent,//开关没有打开时的颜色inactiveThumbColor: Colors.yellow,inactiveTrackColor: Colors.yellow,value: setValue,onChanged: (v) {print("value is ${v}");setState(() {setValue = v;});},),),);
}

上面的代码中,我们把Switch放到了容器中,并且使用不同的颜色来突出开关的效果。此外,我们在onChanged属性对应的方法中通过setState()方法修改了value
属性的值,这样可以让开关与滑动保持联动,如果不这样做,滑动开关时它的状态会变化,松开开关后它会自动恢复成初始状态.在上面的代码中我本来想通过Switch外
面的容器来修改它的大小,但是发现没有效果,目前还没有找到合适的方法来修改它的大小,以后找到后再和大家分享。
看官们,关于Switch Widget相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

http://www.lryc.cn/news/526674.html

相关文章:

  • cursor重构谷粒商城05——docker容器化技术快速入门【番外篇】
  • 高等数学学习笔记 ☞ 微分方程
  • 【探索 Kali Linux】渗透测试与网络安全的终极操作系统
  • 四方连续贴图是什么意思
  • RKNN_C++版本-YOLOV5
  • k8s优雅重启
  • 三高“高性能、高并发、高可靠”系统架构设计系列文章
  • opengrok_使用技巧
  • C++资料
  • 基于模糊PID的孵化箱温度控制系统(论文+源码)
  • 景联文科技加入AIIA联盟数据标注分委会
  • 1-1 飞机大战项目框架搭建
  • 【C++高并发服务器WebServer】-7:共享内存
  • RabbitMQ 多种安装模式
  • C++ 包装器与绑定器的应用之回调函数的实现
  • Baichuan大模型Base、Chat、Instruct等版本的区别
  • 3.DrawCall的概念
  • ubuntu电脑调用摄像头拍摄照片
  • PyQt4 的图片切割编辑器
  • mac 电脑上安装adb命令
  • Webrtc (1) - Windows 编译
  • 学习数据结构(1)算法复杂度
  • GCC之编译(8)AR打包命令
  • RocketMQ原理—4.消息读写的性能优化
  • (Halcon)轮廓等分切割(项目分析)
  • NIO 和 Netty 在 Spring Boot 中的集成与使用
  • 【更正版】梯级水光互补系统最大化可消纳电量期望短期优化调度模型
  • 基于AnolisOS 8.6安装GmSSL 3.1.1及easy_gmssl库测试国密算法
  • vue3 实际应用 将一个日期使用 moment.js 实现星期 今天 明天 ...
  • LLM幻觉(Hallucination)缓解技术综述与展望