打开日期和时间选择器分别需要使用showDatePicker()和 showTimePicker()函数。
参数说明
属性 | 说明 |
showDatePicker | |
context | 上下文 |
initialDate | 初始日期 |
firstDate | 开始日期 |
lastDate | 结束日期 |
selectableDayPredicate | 控制可选日期。如true则都可选,如false则不可选 |
initialDatePickerMode | 用于最初在年或月+日选择器模式中显示日期选择器。默认DatePickerMode.day |
locale | 用于设置日期选择器的区域设置 |
textDirection | 设置日期选择器的文本方向 |
builder | 用于包装对话框小部件以添加主题等继承的小部件。 |
showTimePicker | |
context | 上下文 |
initialTime | 初始时间 |
builder | 用于包装对话框小部件以添加主题等继承的小部件。 |
代码示例
//打开日期选择器
mDatePicker() async{
var result = await showDatePicker(
context:context,
initialDate:nowDate,
firstDate:DateTime(1900),
lastDate:DateTime(2100),
selectableDayPredicate:(nowDate){
return nowDate.isBefore(DateTime(2019,7,20));
},
builder: (BuildContext context, Widget child) {
return Theme(
data: ThemeData.dark(),
child: child,
);
},
);
if(result!= null){
nowDate = result;
mTimePicker();
}
}
//打开时间选择器
mTimePicker() async {
TimeOfDay result = await showTimePicker(
context:context,
initialTime:TimeOfDay.fromDateTime(nowDate),
);
if(result!= null){
setState(() {
//更改显示时间()
nowDate = new DateTime(nowDate.year,nowDate.month,nowDate.day, result.hour,result.minute);
});
}
}
效果图
完整代码