showDraftModeAndroidDateDialog function
Future<DateTime?>
showDraftModeAndroidDateDialog({
- required BuildContext context,
- required DateTime value,
- String? label,
Implementation
Future<DateTime?> showDraftModeAndroidDateDialog({
required BuildContext context,
required DateTime value,
String? label,
}) {
DateTime selected = value;
final materialLocalizations = MaterialLocalizations.of(context);
final firstDate = DateTime(DateTime.now().year - 50, 1, 1);
final lastDate = DateTime(DateTime.now().year + 50, 12, 31);
return showDialog<DateTime>(
context: context,
barrierDismissible: true,
builder: (dialogContext) {
return AlertDialog(
title: Text(label ?? materialLocalizations.datePickerHelpText),
content: SizedBox(
width: 360,
child: CalendarDatePicker(
key: const ValueKey('draftmode-date-picker'),
initialDate: selected,
firstDate: firstDate,
lastDate: lastDate,
onDateChanged: (nextDate) {
selected = DateTime(
nextDate.year,
nextDate.month,
nextDate.day,
value.hour,
value.minute,
);
},
),
),
actions: [
TextButton(
onPressed: () => Navigator.of(dialogContext).pop(),
child: Text(materialLocalizations.cancelButtonLabel),
),
FilledButton(
onPressed: () => Navigator.of(dialogContext).pop(selected),
child: Text(materialLocalizations.okButtonLabel),
),
],
);
},
);
}