showTimePicker static method

void showTimePicker({
  1. required BuildContext context,
  2. required void onConfirm(
    1. String,
    2. Duration
    ),
  3. bool isDismissible = true,
  4. bool enableDrag = true,
  5. double? height,
  6. Widget? title,
  7. String? titleText,
  8. CupertinoTimerPickerMode mode = CupertinoTimerPickerMode.hms,
  9. Duration value = Duration.zero,
  10. int minuteInterval = 1,
  11. int secondInterval = 1,
  12. AlignmentGeometry alignment = Alignment.center,
  13. Color? backgroundColor,
})

显示时间选择器

Implementation

static void showTimePicker({
  required BuildContext context,
  required void Function(String, Duration) onConfirm,
  bool isDismissible = true,
  bool enableDrag = true,
  // -------------------------------------------------------------------- > Custom
  double? height,
  Widget? title,
  String? titleText,
  // -------------------------------------------------------------------- > Cupertino
  CupertinoTimerPickerMode mode = CupertinoTimerPickerMode.hms,
  Duration value = Duration.zero,
  int minuteInterval = 1,
  int secondInterval = 1,
  AlignmentGeometry alignment = Alignment.center,
  Color? backgroundColor,
}) {
  CustomBottomSheet.showDefault(
    context: context,
    isDismissible: isDismissible,
    builder: (BuildContext context) {
      return Container(
        height: height ?? context.height * .5,
        padding: EdgeInsets.symmetric(horizontal: AppTheme.padding),
        decoration: BoxDecoration(
          color: Theme.of(context).colorScheme.surface,
          borderRadius: BorderRadius.circular(AppTheme.radius),
        ),
        child: InternalTimePicker(
          mode: mode,
          title: title,
          titleText: titleText,
          value: value,
          minuteInterval: minuteInterval,
          secondInterval: secondInterval,
          alignment: alignment,
          backgroundColor: backgroundColor,
          onConfirm: (v) {
            onConfirm(normalizeTimeValue(v), v);
          },
        ),
      );
    },
  );
}