一统天下 flutter - widget 选择类: Switch - 开关
一统天下 flutter - widget 选择类: Switch - 开关
示例如下:
lib\widget\selection\switch.dart
/*
* Switch - 开关
*/
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class SwitchDemo extends StatefulWidget {
const SwitchDemo({Key? key}) : super(key: key);
@override
_SwitchDemoState createState() => _SwitchDemoState();
}
class _SwitchDemoState extends State<SwitchDemo> {
bool _selected1 = true;
bool _selected2 = true;
bool _selected3 = true;
bool _selected4 = true;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("title"),),
backgroundColor: Colors.orange,
body: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Switch(
/// 开关是否打开
value: _selected1,
/// 开启状态时滑块的颜色
activeColor: Colors.red,
/// 开启状态时轨道的颜色
activeTrackColor: Colors.green,
/// 关闭状态时滑块的颜色
inactiveThumbColor: Colors.blue,
/// 关闭状态时轨道的颜色
inactiveTrackColor: Colors.yellow,
/// 开关状态发生变化时触发的事件
onChanged:(value) {
setState(() {
_selected1 = value;
});
},
),
Switch(
value: _selected2,
/// 开启状态时滑块的图片
activeThumbImage: const AssetImage('assets/dialog.png'),
/// 关闭状态时滑块的图片
inactiveThumbImage: const AssetImage('assets/son.jpg'),
onChanged:(value) {
setState(() {
_selected2 = value;
});
},
),
/// CupertinoSwitch - iOS 风格的开关
CupertinoSwitch(
value: _selected3,
onChanged:(value) {
setState(() {
_selected3 = value;
});
},
),
/// Switch.adaptive - 风格自适应(在 iOS 系统则渲染为 iOS 风格的开关,其他系统则渲染为 Material Design 风格的开关)
Switch.adaptive(
value: _selected4,
onChanged:(value) {
setState(() {
_selected4 = value;
});
},
),
],
),
);
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!