[Flutter package]简单好用好扩展的时间日期选择器
一、效果
时间 | 日期 | 中文时间日期 | 英文时间日期 |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
二、使用
DatePicker.showDateTimePicker(context, showTitleActions: true, onChanged: (date) {
print('change $date');
}, onConfirm: (date) {
print('confirm $date');
}, currentTime: DateTime(2008, 12, 31, 23, 12, 34), locale: 'zh');
其中currentTime如果不传,就是用当前的时间
三、原理
1.这个时间日期选择器受flutter-cupertino-date-picker启发,对其源码进行了修改使其更加灵活,在此感谢这位作者
2.这个时间选择器,上面是两个按钮,下面是三列选择器,有三个滚动视图
3.为了解耦,UI部分只负责展示内容,对显示什么内容不做判断
4. 定义了接口BasePickerModel来输出内容,这里使用了工厂方法,想生成什么样的选择器,就继承BasePickerModel的类,重载对应的方法,所以上图中不同的选择器,其实只是工厂模型不同,UI部分是一样的内容
转载自:https://juejin.cn/post/6844903667787628552