show method

  1. @override
Future<DateTime?> show(
  1. BuildContext context, {
  2. required DateTime initialTime,
  3. Brightness? brightness,
  4. bool dismissible = true,
  5. bool useRootNavigator = false,
  6. bool alwaysUse24HourFormat = true,
})
override

Implementation

@override
Future<DateTime?> show(
  BuildContext context, {
  required DateTime initialTime,
  Brightness? brightness,
  bool dismissible = true,
  bool useRootNavigator = false,
  bool alwaysUse24HourFormat = true,
}) async {
  _selectedDate = initialTime;
  return await showCupertinoModalPopup<DateTime>(
    context: context,
    barrierDismissible: dismissible,
    useRootNavigator: useRootNavigator,
    builder: (context) {
      return CupertinoTheme(
        data: CupertinoThemeData(brightness: brightness),
        child: CupertinoActionSheet(
          cancelButton: CupertinoActionSheetAction(
            isDefaultAction: true,
            onPressed: () => Navigator.of(context).pop(),
            child: const Text('Cancel'),
          ),
          title: SizedBox(
            height: 200,
            child: CupertinoDatePicker(
              mode: CupertinoDatePickerMode.time,
              initialDateTime: initialTime,
              onDateTimeChanged: (value) => _selectedDate = value,
            ),
          ),
          actions: [
            CupertinoActionSheetAction(
              onPressed: () => Navigator.of(context).pop(_selectedDate),
              child: const Text('Confirm'),
            )
          ],
        ),
      );
    },
  );
}