Flutter DatePickers & TimePickers时间选择器

本文介绍如何使用showDatePicker和showTimePicker函数来选择日期和时间。通过具体代码示例展示了如何设定日期范围、日期选择条件及对话框样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开日期和时间选择器分别需要使用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);
    });
  }
}

效果图

    

完整代码

查看完整代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马志武

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值