当前位置:   article > 正文

Flutter开发之——日期选择器(1)_flutter showdatepicker

flutter showdatepicker

required this.onChanged,

required this.firstDate,

required this.lastDate,

required this.displayedMonth,

this.selectableDayPredicate,

this.dragStartBehavior = DragStartBehavior.start,

})

2.2 常见属性

| 属性 | 说明 | 取值 |

| :-: | :-: | :-: |

| selectedDate | 选中后高亮显示日期 | DateTime |

| currentDate | 当前日期 | DateTime |

| onChanged | 用户选择日期函数 | ValueChanged |

| firstDate | 允许选择的开始日期 | DateTime |

| lastDate | 允许选择的结束日期 | DateTime |

| displayedMonth | 展示日期 | DateTime |

| selectableDayPredicate | 用户的可选日期 | SelectableDayPredicate |

2.3 示例

代码

DateTime _selectedDate = DateTime.now();

Text(“DayPicker-示例”),

Flexible(

child: DayPicker(

selectableDayPredicate: (date) {return date.difference(DateTime.now()).inMilliseconds < 0;},

selectedDate: _selectedDate,

currentDate: DateTime.now(),

onChanged: (date) {

setState(() {

_selectedDate = date;

});

},

firstDate: DateTime(2021, 4, 3),

lastDate: DateTime(2021, 4, 31),

displayedMonth: DateTime(2021, 4),

),

)

效果图

三 CalendarDatePicker(代替DayPicker)


3.1 构造方法

CalendarDatePicker({

Key? key,

required DateTime initialDate,

required DateTime firstDate,

required DateTime lastDate,

DateTime? currentDate,

required this.onDateChanged,

this.onDisplayedMonthChanged,

this.initialCalendarMode = DatePickerMode.day,

this.selectableDayPredicate,

})

3.2 说明

  • CalendarDatePicker是用来替代DayPicker的

  • 需要使用父容器如Flexible或者规定宽和高

3.3 示例

代码

DateTime _selectedDate = DateTime.now();

Text(“CalenderDayPicker-示例”),

Flexible(

child: CalendarDatePicker(

initialDate: DateTime.now(),

firstDate: DateTime(2021, 4, 3),

lastDate: DateTime(2021, 04, 30),

onDateChanged: (date) {

_selectedDate = date;

},

selectableDayPredicate: (date) {

return date.difference(DateTime.now()).inMicroseconds < 0;

},

))

效果图

四 MonthPicker


4.1 说明

  • MonthPicker跟DayPicker界面展示和属性功能基本一致

  • MonthPicker也是过时类,被CalendarDatePicker替代

4.2 示例

代码

Text(“MonthPicker-示例”),

MonthPicker(

selectedDate: _selectedDate,

onChanged: (date) {

setState(() {

_selectedDate = date;

});

},

firstDate: DateTime(2020, 1),

lastDate: DateTime(2020, 12),

),

效果图

五 YearPicker


5.1 说明

  • YearPicker跟DayPicker的属性类似

  • YearPicker只有年份展示,并不包含月份和日期

5.2 示例

代码

Text(“YearPicker”),

Flexible(

child: YearPicker(

selectedDate: _selectedDate,

onChanged: (date) {

setState(() {

_selectedDate = date;

});

},

dragStartBehavior: DragStartBehavior.start,

firstDate: DateTime(2000, 1),

lastDate: DateTime(2021, 12),

)),

效果图

六 showDatePicker


6.1 说明

  • showDatePicker并不是一个新的控件

  • 长跟按钮的点击事件连用,点击后弹出日期选择框

6.2 示例

代码

Text(“showDatePicker”),

RaisedButton(child: Text(“选择日期”),

onPressed: () async {

var result = await showDatePicker(

context: context,

initialDate: DateTime.now(),

firstDate: DateTime(2020),

lastDate: DateTime(2030));

print(‘$result’);

},

)

效果图

示例2-设置主题(builder)
代码

RaisedButton(child: Text(“选择日期”),

onPressed: () async {

var result = await showDatePicker(

builder: (context, child) {

return Theme(

data: ThemeData.dark(),

child: child,

);

},

context: context,

initialDate: DateTime.now(),

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

尾声

开发是需要一定的基础的,我是08年开始进入Android这行的,在这期间经历了Android的鼎盛时期,和所谓的Android”凉了“。中间当然也有着,不可说的心酸,看着身边朋友,同事一个个转前端,换行业,其实当时我的心也有过犹豫,但是我还是坚持下来了,这次的疫情就是一个好的机会,大浪淘沙,优胜劣汰。再等等,说不定下一个黄金浪潮就被你等到了。

  • 330页 PDF Android核心笔记

  • 几十套阿里 、字节跳动、腾讯、华为、美团等公司2020年的面试题

  • PDF和思维脑图,包含知识脉络 + 诸多细节

  • Android进阶系统学习视频

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

不定下一个黄金浪潮就被你等到了。

  • 330页 PDF Android核心笔记

[外链图片转存中…(img-FuFRJfy4-1712270464650)]

  • 几十套阿里 、字节跳动、腾讯、华为、美团等公司2020年的面试题

[外链图片转存中…(img-Z7ZiMtp4-1712270464650)]

[外链图片转存中…(img-FaLwISDa-1712270464650)]

  • PDF和思维脑图,包含知识脉络 + 诸多细节

[外链图片转存中…(img-eW0m3uXU-1712270464650)]

  • Android进阶系统学习视频

[外链图片转存中…(img-RTWttIH4-1712270464651)]

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/861951
推荐阅读
相关标签
  

闽ICP备14008679号