博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6、Flutter Widget(IOS Style) - CupertinoSlider和CupertinoSwitch;
阅读量:6419 次
发布时间:2019-06-23

本文共 3659 字,大约阅读时间需要 12 分钟。

CupertinoSlider

  iOS风格的拖动条。用于从一系列值中进行选择。

  可用于从连续值或离散值集中进行选择。默认值是使用从minmax的连续值范围。要使用离散值,使用divisions的非空值,它表示离散间隔的数量。

  例如,如果min为0.0max为50.0且divisions为5,则可以采用离散值0.0,10.0,20.0,30.0,40.0和50.0的值。

class CupertinoSliderDemo extends StatelessWidget{  @override  Widget build(BuildContext context)  =>CupertinoApp(    home: _HomePage(),  );}class _HomePage extends StatefulWidget{  @override  State
createState()=>_HomePageState();}class _HomePageState extends State<_HomePage>{ double _value = 25.0; double _discreteValue = 20.0; @override Widget build(BuildContext context) { return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( middle: const Text('Sliders'), ), child: SafeArea( child: Center( child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, children:
[ Column( mainAxisSize: MainAxisSize.min, children:
[ CupertinoSlider( value: _value, min: 0.0, max: 100.0, onChanged: (double value) { setState(() { _value = value; }); }, ), Text('Cupertino Continuous: ${_value.toStringAsFixed(1)}'), ], ), Column( mainAxisSize: MainAxisSize.min, children:
[ CupertinoSlider( value: _discreteValue, min: 0.0, max: 100.0, divisions: 5, onChanged: (double value) { setState(() { _discreteValue = value; }); }, ), Text('Cupertino Discrete: $_discreteValue'), ], ), ], ), ), ), ); }}复制代码

其构造函数如下:

const CupertinoSlider({    Key key,    @required this.value,    @required this.onChanged,    this.onChangeStart,    this.onChangeEnd,    this.min = 0.0,    this.max = 1.0,    this.divisions,    this.activeColor,  }) 复制代码

value确定此滚动条的当前选定值。 onChanged值改变的回掉。 onChangeStart对于在值更改开始时调用的回调。 min用户可以选择的最小值,默认为0.0。max用户可以选择的最大值,默认为1.0。divisions划分区域的数量。activeColor用于已选定滚动条部分的颜色,默认为CupertinoColors.activeBlue

CupertinoSwitch

  iOS风格的开关,用于切换单个设置的开/关状态。Switch本身不保持任何状态。相反,当Switch的状态发生变化时,小部件会调用onChanged回调。大多数使用Switch的小部件都会监听onChanged回调并使用新的value重建Switch以更新Switch的可视外观。

class CupertinoSwitchApp extends StatelessWidget{  @override  Widget build(BuildContext context) => CupertinoApp(    home: _HomePage(),  );}class _HomePage extends StatefulWidget{  @override  State
createState() =>_HomePageState();}class _HomePageState extends State<_HomePage>{ bool _isOpen = false; @override Widget build(BuildContext context) => CupertinoPageScaffold( child:Center( child: GestureDetector( onTap: (){ setState(() { _isOpen = !_isOpen; }); }, child: CupertinoSwitch(value: _isOpen, onChanged: (value){ print("the value is $value"); setState(() { _isOpen =value; }); }), ), ) );}复制代码

其构造函数如下:

const CupertinoSwitch({    Key key,    @required this.value,    @required this.onChanged,    this.activeColor,  }) 复制代码

bool value开关是否开启。ValueChanged<double> onChanged值改变的回掉。

转载地址:http://kqvra.baihongyu.com/

你可能感兴趣的文章
ecshop文件结构
查看>>
smb中文乱码编码解决
查看>>
虚拟磁盘扩容
查看>>
css清除浮动
查看>>
selenuim webDriver API 16种定位方式
查看>>
ORACLE视频教程笔记 第一天
查看>>
我的友情链接
查看>>
人生最重要的一件事是成长
查看>>
盗用U盘文件小***
查看>>
硬件bypass原理介绍
查看>>
Perl IO:Socket IO:Select server client
查看>>
du df 计算文件系统的差异
查看>>
JAVA语法细节(1)
查看>>
WINE完全安装-----问题详解
查看>>
安装和使用memcached
查看>>
DELL RAID设置
查看>>
open***配置
查看>>
linux字符界面下root用户无法登录成功
查看>>
改变背景 自适应高度
查看>>
js 检查字符串中是否包含中文(正则)
查看>>