showModalBottomSheet<T> static method

Future<T?> showModalBottomSheet<T>({
  1. required BuildContext context,
  2. required WidgetBuilder builder,
  3. required Color backgroundColor,
  4. double heightFactor = 0.5,
  5. EdgeInsetsGeometry padding = const EdgeInsets.only(top: 19),
  6. AxisDirection animationDirection = AxisDirection.up,
  7. RouteSettings? routeSettings,
  8. bool isDismissible = true,
  9. Color? modalBarrierColor,
  10. bool enableDrag = true,
  11. bool useSafeAre = false,
  12. List<BoxShadow>? boxShadow,
})

Shows a customizable modal bottom sheet.

This is a helper method that wraps Navigator.of(context).push with a pre-configured BrowserSwipePopupRoute for common bottom sheet behavior.

Implementation

static Future<T?> showModalBottomSheet<T>({
  required BuildContext context,
  required WidgetBuilder builder,
  required Color backgroundColor,
  double heightFactor = 0.5,
  EdgeInsetsGeometry padding = const EdgeInsets.only(top: 19),
  AxisDirection animationDirection = AxisDirection.up,
  RouteSettings? routeSettings,
  bool isDismissible = true,
  Color? modalBarrierColor,
  bool enableDrag = true,
  bool useSafeAre = false,
  List<BoxShadow>? boxShadow,
}) =>
    Navigator.of(context).push<T>(
      BrowserSwipePopupRoute<T>(
        settings: routeSettings,
        traceRoute: SwipeTraceRoute(
          useSafeArea: useSafeAre,
          enableDrag: enableDrag,
          barrierColor: modalBarrierColor,
          barrierDismissible: isDismissible,
          screenMaximumPercentage: heightFactor,
          animationDirection: animationDirection,
        ),
        appRoute: BrowserRoute(
          path: '',
          page: Container(
            padding: padding,
            decoration: BoxDecoration(
              color: backgroundColor,
              boxShadow: boxShadow,
            ),
            child: Builder(
              builder: (context) {
                return builder.call(context);
              },
            ),
          ),
          routeTransition: RouteTransition.none,
        ),
      ),
    );