show<T> static method

Future<T?> show<T>(
  1. BuildContext context, {
  2. required WidgetBuilder builder,
  3. bool barrierDismissible = true,
  4. Color barrierColor = const Color(0x99000000),
})

Show a bottom sheet using a custom route and return the result of T passed to Navigator.pop.

Implementation

static Future<T?> show<T>(
  BuildContext context, {
  required WidgetBuilder builder,
  bool barrierDismissible = true,
  Color barrierColor = const Color(0x99000000),
}) {
  final NavigatorState navigator = Navigator.of(context);
  return navigator.push<T>(
    PageRouteBuilder<T>(
      opaque: false,
      barrierDismissible: barrierDismissible,
      barrierColor: barrierColor,
      pageBuilder:
          (
            BuildContext context,
            Animation<double> animation,
            Animation<double> secondaryAnimation,
          ) {
            final Widget sheet = builder(context);

            return Align(
              alignment: Alignment.bottomCenter,
              child: FractionallySizedBox(
                widthFactor: 1,
                child: _MiniDraggableBottomSheet(
                  animation: animation,
                  navigator: navigator,
                  child: sheet,
                ),
              ),
            );
          },
    ),
  );
}