Flutter - 控件之 Picker

  • CupertinoPicker
    • 应用示例:选择性别
选择器picker,简单用于性别、省市地区、日期等选择功能。

CupertinoPicker

iOS风格的选择器,与showCupertinoModalPopup配合使用,在屏幕底部模态的显示选择器。
1、参数解析:

 CupertinoPicker({Key key,this.diameterRatio = _kDefaultDiameterRatio, //选择器高度与模拟圆柱直径比,默认1.1,视觉上类似iOS中pickerthis.backgroundColor = _kDefaultBackground, //选择器背景色,默认iOS版中灰色,可设置为nullthis.offAxisFraction = 0.0, //轴偏离系数this.useMagnifier = false, //使用放大镜与否,配合magnification值this.magnification = 1.0, //当前选中item与其他item相比放大倍数this.scrollController,@required this.itemExtent, //行高@required this.onSelectedItemChanged, //当前选中值改变时回调@required List<Widget> children, //所有可选择项bool looping = false, //滚动到头部或尾部是否循环滚动})

2、代码示例:

     Container(height: 200,child: CupertinoPicker(diameterRatio: 1.5,offAxisFraction: 0.2, //轴偏离系数useMagnifier: true, //使用放大镜magnification: 1.5, //当前选中item放大倍数itemExtent: 50, //行高backgroundColor: Colors.amber, //选中器背景色onSelectedItemChanged: (value) {print("value = $value, 性别:${pickerChildren[value]}");},children: pickerChildren.map((data) {return Center(child: Text(data),);}).toList(),),),

3、效果图:

应用示例:选择性别

CupertinoPicker配合showCupertinoModalPopup(弹出iOS风格的模态窗口)使用实现选择性别功能
1、创建选择器:

  List pickerChildren = ["男","女","保密",];int selectedValue = 0;String selectedGender = "男"; //选择性别Widget _buildGenderPicker() {return CupertinoPicker(itemExtent: 40,onSelectedItemChanged: (value) {print("选择性别:${pickerChildren[value]}");print("$value");setState(() {selectedValue = value;});},children: pickerChildren.map((data) {return Text(data);}).toList(),);}

2、模态弹出:

  //点击选择性别void _didClickSelectedGender() {selectedValue = 0;showCupertinoModalPopup(context: context,builder: (BuildContext context) {return Container(height: 250,child: Column(children: <Widget>[Row(mainAxisAlignment: MainAxisAlignment.spaceBetween,children: <Widget>[FlatButton(color: Colors.white,onPressed: () {Navigator.pop(context);},child: Text("Cancle"),),FlatButton(color: Colors.white,onPressed: () {Navigator.pop(context);setState(() {selectedGender = pickerChildren[selectedValue];});},child: Text("OK"),),],),Expanded(child: DefaultTextStyle(style: TextStyle(color: Colors.black,fontSize: 22,),child: _buildGenderPicker(),),),],),);});}

3、效果预览:

Flutter - 控件之 Picker相关推荐

  1. Flutter控件--Switch 和 SwitchListTile

    flutter控件练习demo地址:github Switch(开关).SwitchListTile(带标题的开关) 和 AnimatedSwitch 一 Switch 1.1 简介 Switch & ...

  2. 自定义Flutter控件

    在Flutter开发中,我们会经常和各种控件打交道,它们也能满足业务的大部分需求.但是,我们往往需要将多个控件组合起来,才能实现业务的需求,而且这样写出来的代码维护起来非常困难.因此,我们可以把那些需 ...

  3. 4、Flutter - 控件基础 (二)ListView 列表展示数据、布局

    ListView 列表展示数据.布局 接上篇,几点注意事项与说明 1.创建工程项目的时候,存放路径不要有中文,有中文会有警告,而且后面可能会有一些未知的问题. 如果有中文路径,创建完工程移动工程位置的 ...

  4. 《Flutter 控件大全》第十个:AnimatedIcon

    如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...

  5. 《Flutter 控件大全》第八个:AnimatedCrossFade

    如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...

  6. 【MFC基础】13s时间控件DateTime Picker

    往MFC界面上拖一个Date Time Picker控件,然后选中,右键添加一个变量 比如 m_dtCtrl 1.获得该控件的时间 CTime m_date; //别看名字以为它只有时间,实际上它可以 ...

  7. 《Flutter 控件大全》第五十五个:InkWell和Ink

    如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...

  8. 《Flutter 控件大全》第五十二个:Hero

    如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit). 同时也欢迎关注我的Flutter公众号[老孟程序员],公众号首发Flutter的相关内容. ...

  9. EXTJS 6 - 日期控件 Date picker 只选年月

    官方没有支持,只能自己写一下了. Ext.define('Ext.form.field.Month', {extend: 'Ext.form.field.Date',alias: 'widget.mo ...

最新文章

  1. .net 去除特殊字符
  2. PC上安装MAC X Lion
  3. Linux下xz与tar的区别
  4. express中response.js 提供的sendFile方法的调试
  5. 海量数据拆分到nosql系统的一种方案
  6. 关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
  7. 网络流入门题目 - bzoj 1001
  8. Android开发之网络
  9. DirectDraw 学习:
  10. mybatisplus修改单个属性_SolidWorks工程图比例:整体修改与单视图修改
  11. LeetCode 1——两数之和
  12. 本地 Git 文件夹显示绿色标识
  13. 直流有刷电机与无刷电机的区别
  14. 给图片加ALT属性是个什么意思?有什么优点呢
  15. U盘chk文件该怎样用EasyRecovery恢复
  16. 52单片机课程设计——利用52单片机的智能窗帘设计论文+源码
  17. TM4C123G学习记录(6)--UART
  18. 计算机网络复习04——网络层
  19. Windows PowerShell 实战指南-附录(复习实验)-实验回顾1
  20. PHP 中的设计模式详解

热门文章

  1. Windows 下设置自定义域名解析到指定 IP
  2. 2021年程序人生的随想总结
  3. 课设复习之信息论自适应算术编码与译码
  4. 【C语言】预处理的深入理解(第一期)
  5. python风变编程是骗局吗-风变编程:Python适合编程初学者学习吗?
  6. 浏览器用什么电商插件好?
  7. PS练习7——蒙版的使用
  8. 测试语文水平的软件,语文试卷质量分析
  9. foxit 福昕阅读器 点击书签跳转时,保持 页面 缩放比例
  10. 路由器配置和静态路由