100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Flutter 开关按钮封装

Flutter 开关按钮封装

时间:2020-07-05 07:02:11

相关推荐

Flutter 开关按钮封装

文章目录

Flutter 开关按钮封装效果实现思路实现代码

Flutter 开关按钮封装

效果

实现思路

利用自定义按钮组件FlatButton,设置开关状态对应的颜色。

实现代码

////// Author: chengzan/// Date: -6-4/// Describe: 圆形按钮,适用开关按钮///class PowerSwitch extends StatefulWidget {var value;var on;var off;Color mainThemeColor;String onText;String offText;Function changed;PowerSwitch({Key key,@required this.value,@required this.on,@required this.off,@required this.mainThemeColor,@required this.onText,@required this.offText,@required this.changed});@override_PowerSwitchState createState() => _PowerSwitchState();}class _PowerSwitchState extends State<PowerSwitch> {var value;@overridevoid initState() {super.initState();value = widget.value;}@overrideWidget build(BuildContext context) {return FlatButton(color: value == widget.on ? widget.mainThemeColor : Color(0xffffffff),splashColor: widget.mainThemeColor,highlightColor: widget.mainThemeColor,child: Icon(Icons.power_settings_new,color: value == widget.on ? Color(0xffffffff) : widget.mainThemeColor,),onPressed: () {setState(() {value = value == widget.on ? widget.off : widget.on;});widget.changed(value);},shape: new CircleBorder(side: new BorderSide(//设置 界面效果width: 1,color:value == widget.on ? widget.mainThemeColor : Color(0xffe7e7e7),style: BorderStyle.solid,),));}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。