浅识Flutter 基本组件之showDatePicker 方法

showDatePicker ()方法用于弹出一个日期选择器对话框,该对话框有系统默认的样式,也可以通过builder属性设置自定义样式,它的常用属性及功能说明如下所示。

属性名 类型 功能说明
context BuildContext 设置BuildContext
initialDate DateTime 设置日期选择器打开时默认日期
firstDate DateTime 设置日期选择器可选择的起始日期
lastDate DateTime 设置日期选择器可选择的终止日期
local Locale 设置国际化,默认英文
selectableDayPredicate bool 设置日期选择器可选的日期
builder Widget 设置日期选择器主题.标题栏等样式

例如,页面上有一个Text组件和一个RaiseButton组件,当点击RaiseButton组件后,弹出日期选择器,在日期选择器上选择日期后,将日期显示在Text组件上。

showdata(context) {showDatePicker(context: context,initialDate: DateTime.now(),lastDate: DateTime.now(),firstDate: DateTime(1900, 01, 01));}

FloatingActionButton(onPressed: () {showdata(context);},backgroundColor: Colors.white,child: Icon(Icons.watch, color: Colors.grey),)

将选择日期显示出来

String data = DateTime.now().toString().substring(0,10);Future<DateTime?> showData(context)  async{   //  async异步调用的方法 需要等showDatePicker执行完  加上awaitDateTime? d =await showDatePicker(context: context,initialDate: DateTime.now(),lastDate: DateTime.now(),firstDate: DateTime(1900, 01, 01));/*将选择日期显示出来*/setState(() {data= d.toString().substring(0,10);});}


完整代码

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';class zhucepage extends StatefulWidget {@overrideState<StatefulWidget> createState() {return MyState();}
}class MyState extends State {List flag = [false, false, false];List select = ['皇后', '华妃', '甄嬛'];bool isChecked = false;//定义一个弹出日期选择器的方法showdataString data = DateTime.now().toString().substring(0,10);Future<DateTime?> showData(context)  async{   //  async异步调用的方法 需要等showDatePicker执行完  加上awaitDateTime? d =await showDatePicker(context: context,initialDate: DateTime.now(),lastDate: DateTime.now(),firstDate: DateTime(1900, 01, 01));/*将选择日期显示出来*/setState(() {data= d.toString().substring(0,10);});}// showData(context) {//   var d=showDatePicker(//       context: context,//       initialDate: DateTime.now(),//       lastDate: DateTime.now(),//       firstDate: DateTime(1900, 01, 01));//   /*将选择日期显示出来*/// setState(() {//   data= d.toString().substring(0,10);// });//// }@overrideWidget build(BuildContext context) {Row row = Row(children: <Widget>[Text('选择你的阵营:   '),Text(select[0]),Checkbox(value: flag[0],onChanged: (value) {//setState更新值setState(() {flag[0] = value!;});},),Text(select[1]),Checkbox(value: flag[1],onChanged: (value) {//setState更新值setState(() {flag[1] = value!;});},),Text(select[2]),Checkbox(value: flag[2],onChanged: (value) {//setState更新值setState(() {flag[2] = value!;});},),],);/*创建多个CheckboxListTile*/Column column = Column(children: <Widget>[CheckboxListTile(value: this.isChecked,/*设置主标题组件*/title: Text('全选',style: TextStyle(color: Colors.red),),/*设置副标题组件*/subtitle: Text('全选表示自成一派'),/*设置显示的小组件,与□所在位置相反*/secondary: Icon(Icons.flag),/*调整复选框和图标的位置*/controlAffinity: ListTileControlAffinity.leading,onChanged: (bool? value) {setState(() {isChecked = value!;for (int i = 0; i < flag.length; i++) {flag[i] = isChecked;}});},),CheckboxListTile(title: Text(select[0]),subtitle: Text('堕胎小分队'),secondary: Icon(Icons.info),/*调整复选框和图标的位置*/controlAffinity: ListTileControlAffinity.leading,value: flag[0],onChanged: (value) {setState(() {flag[0] = value;});}),CheckboxListTile(title: Text(select[1]),subtitle: Text('世兰好苦队'),secondary: Icon(Icons.info),/*调整复选框和图标的位置*/controlAffinity: ListTileControlAffinity.leading,value: flag[1],onChanged: (value) {setState(() {flag[1] = value;});}),CheckboxListTile(title: Text(select[2]),subtitle: Text('莞莞类卿队'),secondary: Icon(Icons.info),/*调整复选框和图标的位置*/controlAffinity: ListTileControlAffinity.leading,value: flag[2],onChanged: (value) {setState(() {flag[2] = value;});}),// Row(children: <Widget>[//   Text("选择进宫的日子:  "),//   Text(data),// ]),/*点击一个按钮,弹出日期选择对话框*/Row(children: <Widget>[Text("选择进宫的日子:  "),Text(data+'                             '),FloatingActionButton(onPressed: () {showData(context);},backgroundColor: Colors.white,child: Icon(Icons.watch, color: Colors.grey ),),]),],);return Scaffold(appBar: AppBar(title: Text('用户注册'),centerTitle: true,),body: column,floatingActionButton: FloatingActionButton(onPressed: () {String info = "你选择的阵营是:";for (int i = 0; i < flag.length; i++) {if (flag[i]) {/*如果选项被选中*/info = info + select[i] + ' ';}}print(info);},tooltip: 'Increment',child: Icon(Icons.save),),floatingActionButtonLocation:FloatingActionButtonLocation.centerFloat, //浮标的位置);}
}

浅识Flutter 基本组件之showDatePicker方法相关推荐

  1. 浅识Flutter 基本组件之TextField组件 输入框decoration属性

    浅识Flutter 基本组件之TextField组件 输入框decoration属性 decoration InputDecoration控制输人框提示信息样式的常用属性 InputDecoratio ...

  2. 浅识Flutter 基本组件Scaffold

    浅识Flutter 基本组件Scaffold 1. body 2. backgroundColor 3. appBar Scaffold是Flutter开发中实现Material Design布局结构 ...

  3. 浅识Flutter 基本组件MaterialAPP的theme属性 app主题

    浅识Flutter 基本组件MaterialAPP的theme属性 app主题 ThemeData属性及描述 设置主题 theme属性用于指定应用程序的主题(即共享颜色和字体样式). 例如,需要将应用 ...

  4. 浅识Flutter 基本组件Scaffold的 drawer属性 app创建头像

    浅识Flutter 基本组件Scaffold的 drawer属性 app创建头像 在项目开发中使用本地图片资源文件的步骤. 1.在项目下创建一个文件夹image 2.将本地图片放入images文件夹里 ...

  5. 浅识Flutter Android studio 设置APP启动页

    Flutter Android studio 设置APP名启动页 Android设置APP启动页 ios设置APP启动页 APP的应用一打开,启动应用程序后,进入主功能界面前会有一张图片或一段动画效果 ...

  6. flutter 父组件调用子组件方法

    子组件 子组件定义 GlobalKey<_ListRefreshRequestNewsState> globalKey = GlobalKey();, 定义方法 void getRefre ...

  7. 一份超级详细的Flutter基础组件练习示例,请查收!

    学习B站技术胖的flutter基础课程整理的示例,为了平时方便查阅,同时希望能和大家一同进步~ Flutter基础组件 Hello world import 'package:flutter/mate ...

  8. Flutter 日历组件如何支持中文(国际化)

    Flutter 日历组件如何支持中文(国际化) 在 App 开发中,我们通常需要用到国际化的支持. Flutter 在默认情况下就是支持国际化,但是在没有进行特别的设置之前,它们无论在什么环境都是以英 ...

  9. Vue子组件调用父组件方法并传参的5种方式:$emit触发、传入子组件function、访问父组件$parent.function、用inject关联父组件provide的方法、用window.fun

    如需了解老子怎么控制儿子的,传送门:https://s-z-q.blog.csdn.net/article/details/119922715 子组件child.vue <template> ...

  10. php自定义控件,小程序自定义组件的实现方法(代码)

    本篇文章给大家带来的内容是关于小程序自定义组件的实现方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. File:threecolgrid.js// components/t ...

最新文章

  1. 2022-2028年中国毛纺行业研究及前瞻分析报告
  2. 2021年大数据Flink(二十三):​​​​​​​Watermaker案例演示
  3. git pull出现There is no tracking information for the current branch
  4. Jquery判断单选框是否选中和获取选中的值
  5. 【转】iOS-Core-Animation-Advanced-Techniques(六)
  6. c 文件夹打包解包_linux中文档的压缩与打包
  7. 当Typora开始收费,开源免费的MarkText编辑器火了:一周新增2k+star
  8. WebService应用:音乐站图片上传
  9. 微信小程序开发学习笔记008--微信小程序项目02
  10. mac切换网卡|IP
  11. python constants_Python constants.SUCCESS属性代码示例
  12. 《如何正确评估自己的工作能力》--马薇薇
  13. 播放index.m3u8切片文件显示为直播问题
  14. elementui树形组件默认点击第一个字节点
  15. Ureport2导出内容加入PDF文件
  16. 格式化的盘要如何恢复文件
  17. 银河麒麟常见问题汇总
  18. 【算法题】机器人走迷宫
  19. 如何显示计算机中本地用户和组,win10电脑管理界面如何显示出“本地用户和组”功能...
  20. element--文字链接

热门文章

  1. Python用selenium爬取高德地图商家数据
  2. aardio部署_用aardio给python写个图形界面
  3. 基于tensorflow的LSTM实现PTB预测
  4. c#中计算三角形面积公式,C#源代码—三角形面积、圆的面积
  5. 小米 note3 android,小米NOTE3 MIUI9.6稳定版 开启全面屏手势和屏蔽经典物理按键全攻略...
  6. linux filp open,内核模块中filp-open对文件的读写【转】
  7. 友善串口助手使用教程_友善串口调试助手基本功能怎么使用-友善串口调试助手使用教程...
  8. PTA 1072 开学寄语
  9. Amazon Alexa系列介绍(3)--Alexa Voice Service API介绍
  10. MPI MPI_Bcast (广播)用法详解