timePicker static method

dynamic timePicker({
  1. required BuildContext context,
  2. required dynamic onSelected(
    1. String time
    ),
  3. String? time,
  4. String? minTime,
  5. String? maxTime,
  6. bool format12Hours = false,
  7. bool hasSeconds = false,
  8. TimePickerEntryMode timePickerEntryMode = TimePickerEntryMode.dial,
})

pick time with customization time HH:mm:ss

Implementation

static timePicker({
  required BuildContext context,
  required Function(String time) onSelected,
  String? time,
  String? minTime,
  String? maxTime,
  bool format12Hours = false,
  bool hasSeconds = false,
  TimePickerEntryMode timePickerEntryMode = TimePickerEntryMode.dial,
}) {
  showTimePicker(
    context: context,
    initialTime: stringToTimeOfDay(time: time),
    initialEntryMode: timePickerEntryMode,
    builder: (context, child) {
      return MediaQuery(
        data: MediaQuery.of(
          context,
        ).copyWith(alwaysUse24HourFormat: !format12Hours),
        child: Localizations.override(
          context: context,
          locale: const Locale('en', 'US'),
          child: child ?? Container(),
        ),
      );
    },
  ).then((value) {
    String selectedTime = "";
    if (value != null) {
      selectedTime = timeOfDayToString(time: value, hasSeconds: hasSeconds);
    } else {
      selectedTime =
          _isNullOrEmpty(time)
              ? ""
              : hasSeconds
              ? time!
              : timeOfDayToString(
                time: stringToTimeOfDay(time: time),
                hasSeconds: hasSeconds,
              );
    }
    onSelected(selectedTime);
  });
}