我有这个CupertinoDatePicker设置在时间模式与24小时格式和15分钟的间隔:
CupertinoDatePicker(
use24hFormat: true,
mode: CupertinoDatePickerMode.time,
minuteInterval: 15,
initialDateTime: currentDate,
minimumDate: DateTime(currentDate.year, currentDate.month,
currentDate.day, minHours, minMinutes),
maximumDate: DateTime(currentDate.year, currentDate.month,
currentDate.day + nextDay, maxHours, maxMinutes),
onDateTimeChanged: (DateTime newDateTime) {
currentDate = newDateTime;
}
)
我将初始日期设置为currentDate,其定义如下:
DateTime currentDate =
DateTime(1900, 1, 1, currentHour, currentMinute);
其中currentHour和currentMinute是我在这个函数中传递的两个变量。在显示DatePicker之前的函数中,我还计算了minHours,minMinutes和maxHours和maxMinutes,这应该限制用户可以选择小时和分钟的范围,通过设置Picker的minimumDate和maximumDate来完成。
唯一的大问题是,我想计数午夜(所以00:00)作为最大时间在某些情况下。所以,例如,如果我想禁用00:15和9:00之间,但保持00:00启用?
1条答案
按热度按时间wfauudbj1#
要实现您的想法,您需要自定义
CupertinoPicker
并过滤不需要的值:快乐编码...