我正在尝试每隔15分钟创建一个Cupertino日期选择器。当尝试每15分钟添加一个间隔时,我的showModalSheet现在占据了整个屏幕。如何在不让Cupertino选取器占用整个屏幕的情况下增加15分钟的间隔?
我的代码:
Widget getStartingTimePicker() {
return Container(
height: MediaQuery.of(context).size.height * 15,
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
CupertinoButton(
child: Text('Done'),
onPressed: () {
Navigator.pop(context);
},
),
],
),
Expanded(
child: CupertinoDatePicker(
mode: CupertinoDatePickerMode.time,
minuteInterval: 15,
initialDateTime: _currentHour.add(Duration(minutes: 15 - _currentHour.minute % 15)),
onDateTimeChanged: (startTime) {
setState(() {
// _currentHour = startTime;
});
},
),
),
],
),
);
}
结果:
您的问题是您设置屏幕的高度* 15
这意味着比屏幕高度大15倍:)
您应使用height: MediaQuery.of(context).size.height * 0.15
return Container(
height: MediaQuery.of(context).size.height * 0.15,
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
CupertinoButton(
child: Text('Done'),
onPressed: () {
Navigator.pop(context);
},
),
],
),
Expanded(
child: CupertinoDatePicker(
mode: CupertinoDatePickerMode.time,
minuteInterval: 15,
initialDateTime: _currentHour.add(Duration(minutes: 15 - _currentHour.minute % 15)),
onDateTimeChanged: (startTime) {
setState(() {
// _currentHour = startTime;
});
},
),
),
],
),
);