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),
}) {
  return Navigator.of(context).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,
              child: sheet,
            ),
          ),
        );
      },
    ),
  );
}