官方网站撰写策划书,农业推广,成品超市网站,网站怎么提供下载文章目录 1.概念介绍2.使用方法2.1 NumberPicker2.2 CupertinoPicker 3.示例代码4.内容总结 我们在上一章回中介绍了如何在任意位置显示PopupMenu相关的内容#xff0c;本章回中将介绍如何实现NumberPicker.闲话休提#xff0c;让我们一起Talk Flutter吧。 1.概念… 文章目录 1.概念介绍2.使用方法2.1 NumberPicker2.2 CupertinoPicker 3.示例代码4.内容总结 我们在上一章回中介绍了如何在任意位置显示PopupMenu相关的内容本章回中将介绍如何实现NumberPicker.闲话休提让我们一起Talk Flutter吧。 1.概念介绍
我们在本章回中介绍的Numberpicker主要用来实现数字选择功能比如选择年月日当然也可以使用YearPicker实现不过YearPicer是把年月日当作一个整体来 选择在界面上同时显示年月日三个选项如果只想选择其中的某一个而不显示其它选项那么它就无能为力因为该组件不支持这样去设置。那么我们该如何实现这样 的功能呢答案是使用Numberpicker组件或者CupertinoPicker组件。它们可以把年月日当作数字并且进行单独显示本章回中将详细介绍这两个组件的使用方法。
2.使用方法
2.1 NumberPicker
和其它组件一样NumberPicker组件提供了相关的属性来控制自己接下来我们将介绍该组件中常用的属性掌握这些属性后就可以使用该组件了。
maxValue属性用来控制picker中可以选择的最大数值minValue属性用来控制picker中可以选择的最小数值value属性用来控制picker中当前选择的数值step属性用来控制picker滚动时的步进值默认值为1axis属性用来控制选择的方向分水平垂直两个方向onChanged属性该属性是方法类型选择某个数值时会回调该属性对应的方法
2.2 CupertinoPicker
除了NumberPicker可以实现数字选择功能外CupertinoPicker组件也可以实现同样的功能接下来我们介绍一下该组件的常用属性。
backgroundColor属性主要用来控制选择器的背景颜色itemExtent属性主要用来控制被选择内容的数量onSelectedItemChanged属性该属性是方法类型选择某个数值时会回调该属性对应的方法children属性该属性是’List类型主要用来存放被选择的内容
3.示例代码
NumberPicker(///这个是当前选择的值value: _selectedValue,itemCount: 3,itemHeight: 60,decoration: BoxDecoration(border:Border.all(color: Colors.redAccent,width: 3,),borderRadius: BorderRadius.circular(15),),///设置picker方向axis: Axis.vertical,///是否启用振动默认不启用// haptics: true,///循环显示infiniteLoop: true,///设置值的范围maxValue: 9,minValue: 0,step: 1,///不修改数值的话选择内容不在选择框架内onChanged: (value){setState(() {_selectedValue value;});},
),child: CupertinoPicker(///设置整个Picker的颜色backgroundColor: Colors.purpleAccent,itemExtent: 48,///选择某个内容时回调此方法onSelectedItemChanged: (int value) {debugPrint(item $value is selected);},///最好设置为true,不然会发生选项重叠的现象looping: true,children: [...List.generate(5, (index) SizedBox(width:60,height:48,child: Text(item ${index1})),),],
),在上面的代码中我们提供了NumberPicker和CupertinoPicker两个组件的示例代码代码中添加了相关的注释这样方便大家理解代码。把上面的示例代码放到 某个页面中后就可以运行了下面是程序的运行效果图。图中上方紫色背景的选择器是CupertinoPicker组件下面的灰色背景的选择器是NumberPicker组件。
4.内容总结
最后我们对实现数字选择功能的这两个组件做一个总结主要包含它们的相同点和不同点
NumberPicker组件和CupertinoPicker组件都可以实现数字选择器NumberPicker只有选择数字CupertinoPicker可以选择任意的组件NumberPicker由三方包提供CupertinoPicker是官方包中自带的组件 看官们与如何实现Numberpicker相关的内容就介绍到这里。此外我还有一个疑问NumberPicker也算是比较实用的组件而且Android中自带该组件为什 么Flutter官方不提供这样的组件呢欢迎大家在评论区交流与讨论。