// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; Future showTimePicker({ required BuildContext context, required TimeOfDay initialTime, TransitionBuilder? builder, bool barrierDismissible = true, Color? barrierColor, String? barrierLabel, bool useRootNavigator = true, TimePickerEntryMode initialEntryMode = TimePickerEntryMode.dial, String? cancelText, String? confirmText, String? helpText, String? errorInvalidText, String? hourLabelText, String? minuteLabelText, RouteSettings? routeSettings, EntryModeChangeCallback? onEntryModeChanged, Offset? anchorPoint, Orientation? orientation, Icon? switchToInputEntryModeIcon, Icon? switchToTimerEntryModeIcon, bool emptyInitialInput = false, BoxConstraints? constraints, }) { assert(debugCheckHasMaterialLocalizations(context)); final Widget dialog = DialogTheme( data: const DialogThemeData(constraints: BoxConstraints(minWidth: 280.0)), child: TimePickerDialog( initialTime: initialTime, initialEntryMode: initialEntryMode, cancelText: cancelText, confirmText: confirmText, helpText: helpText, errorInvalidText: errorInvalidText, hourLabelText: hourLabelText, minuteLabelText: minuteLabelText, orientation: orientation, onEntryModeChanged: onEntryModeChanged, switchToInputEntryModeIcon: switchToInputEntryModeIcon, switchToTimerEntryModeIcon: switchToTimerEntryModeIcon, emptyInitialInput: emptyInitialInput, ), ); return showDialog( context: context, barrierDismissible: barrierDismissible, barrierColor: barrierColor, barrierLabel: barrierLabel, useRootNavigator: useRootNavigator, builder: (BuildContext context) { return builder == null ? dialog : builder(context, dialog); }, routeSettings: routeSettings, anchorPoint: anchorPoint, ); }