showCustomModalBottomSheet<T> function

Future<T?> showCustomModalBottomSheet<T>({
  1. required BuildContext context,
  2. required WidgetBuilder builder,
  3. required WidgetWithChildBuilder containerWidget,
  4. required double blur,
  5. required Color blurColor,
  6. Color? backgroundColor,
  7. double? elevation,
  8. ShapeBorder? shape,
  9. Clip? clipBehavior,
  10. Color? barrierColor,
  11. bool bounce = false,
  12. bool expand = false,
  13. AnimationController? secondAnimation,
  14. Curve? animationCurve,
  15. bool useRootNavigator = false,
  16. bool isDismissible = true,
  17. bool enableDrag = true,
  18. Duration? duration,
  19. RouteSettings? settings,
  20. double? closeProgressThreshold,
})

Shows a modal material design bottom sheet.

Implementation

Future<T?> showCustomModalBottomSheet<T>({
  required BuildContext context,
  required WidgetBuilder builder,
  required WidgetWithChildBuilder containerWidget,
  required double blur,
  required Color blurColor,
  Color? backgroundColor,
  double? elevation,
  ShapeBorder? shape,
  Clip? clipBehavior,
  Color? barrierColor,
  bool bounce = false,
  bool expand = false,
  AnimationController? secondAnimation,
  Curve? animationCurve,
  bool useRootNavigator = false,
  bool isDismissible = true,
  bool enableDrag = true,
  Duration? duration,
  RouteSettings? settings,
  double? closeProgressThreshold,
}) async {
  assert(debugCheckHasMediaQuery(context));
  assert(debugCheckHasMaterialLocalizations(context));
  final hasMaterialLocalizations =
      Localizations.of<MaterialLocalizations>(context, MaterialLocalizations) !=
          null;
  final barrierLabel = hasMaterialLocalizations
      ? MaterialLocalizations.of(context).modalBarrierDismissLabel
      : '';

  final result = await Navigator.of(context, rootNavigator: useRootNavigator)
      .push(ModalSheetRoute<T>(
    builder: builder,
    bounce: bounce,
    containerBuilder: containerWidget,
    secondAnimationController: secondAnimation,
    expanded: expand,
    barrierLabel: barrierLabel,
    isDismissible: isDismissible,
    modalBarrierColor: barrierColor,
    enableDrag: enableDrag,
    animationCurve: animationCurve,
    blur: blur,
    blurColor: blurColor,
    duration: duration,
    settings: settings,
    closeProgressThreshold: closeProgressThreshold,
  ));
  return result;
}