Flutter开发之——日期选择器(1)
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;
},
))
效果图

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),
),
效果图

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),
)),
效果图

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(),
firstDate: DateTime(2020),
lastDate: DateTime(2030));
print(‘$result’);
},
)
效果图

七 CupertinoDatePicker-仿IOS时间控件
7.1 示例
Text(“IOS风格-时间控件”),
Flexible(child: CupertinoDatePicker(
use24hFormat: true,
initialDateTime: _selectedDate,
onDateTimeChanged: (date) {
setState(() {
_selectedDate = date;
});
},
))
效果图

8.1 说明
-
showDatePicker是点击后进行日期选择联动,showTimePicker是点击后进行时间选择联动
-
长跟按钮的点击事件连用,点击后弹出时间选择框
-
showTimePicker同showDatePicker可以设置深色主题
8.2 示例
代码
Text(“showTimePicker”),
RaisedButton(child: Text(“showTimePicker”),
onPressed: () async {
showTimePicker(
context: context,
initialTime: TimeOfDay.now(),
builder: (context, child) {
return MediaQuery(
data: MediaQuery.of(context)
.copyWith(alwaysUse24HourFormat: true),
child: child,
);
});
},
),
效果图

九 CupertinoTimerPicker -IOS时间选择器
9.1 示例
代码
Container(
height: 200,
child: CupertinoTimerPicker(
initialTimerDuration: Duration(
hours: _selectedDate.hour,
minutes: _selectedDate.minute,
seconds: _selectedDate.second),
总结
算法知识点繁多,企业考察的题目千变万化,面对越来越近的“金九银十”,我给大家准备好了一套比较完善的学习方法,希望能帮助大家在有限的时间里尽可能系统快速的恶补算法,通过高效的学习来提高大家面试中算法模块的通过率。
这一套学习资料既有文字档也有视频,里面不仅仅有关键知识点的整理,还有案例的算法相关部分的讲解,可以帮助大家更好更全面的进行学习,二者搭配起来学习效果会更好。
部分资料展示:




有了这套学习资料,坚持刷题一周,你就会发现自己的算法知识体系有明显的完善,离大厂Offer的距离更加近。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
里尽可能系统快速的恶补算法,通过高效的学习来提高大家面试中算法模块的通过率。
这一套学习资料既有文字档也有视频,里面不仅仅有关键知识点的整理,还有案例的算法相关部分的讲解,可以帮助大家更好更全面的进行学习,二者搭配起来学习效果会更好。
部分资料展示:
[外链图片转存中…(img-DKJqsEqw-1715101230062)]
[外链图片转存中…(img-XBvLF4S0-1715101230062)]
[外链图片转存中…(img-h68llzZG-1715101230062)]
[外链图片转存中…(img-P5vcZeUC-1715101230063)]
有了这套学习资料,坚持刷题一周,你就会发现自己的算法知识体系有明显的完善,离大厂Offer的距离更加近。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
更多推荐


所有评论(0)