showBaseBottomSheet function

Future<bool?> showBaseBottomSheet(
  1. BuildContext context, {
  2. required Widget child,
  3. double minHeight = 0.5,
  4. double maxHeight = 0.8,
  5. Color? maskColor,
  6. bool isDismissible = true,
  7. bool enableDrag = true,
  8. VoidCallback? onDismiss,
})

显示底部弹窗的便捷方法

context - BuildContext child - 弹窗内容组件 minHeight - 最小高度比例 (0.0-1.0),默认 0.5 maxHeight - 最大高度比例 (0.0-1.0),默认 0.5 maskColor - 背景遮罩颜色,默认黑色透明度为1 isDismissible - 点击背景是否可关闭,默认 true enableDrag - 是否启用拖拽关闭,默认 true onDismiss - 弹窗关闭时的回调

返回值:关闭时返回 false(如果设置了 onDismiss 回调,则先调用回调再返回)

Implementation

Future<bool?> showBaseBottomSheet(
  BuildContext context, {
  required Widget child,
  double minHeight = 0.5,
  double maxHeight = 0.8,
  Color? maskColor,
  bool isDismissible = true,
  bool enableDrag = true,
  VoidCallback? onDismiss,
}) {
  return showMaterialModalBottomSheet<bool>(
    backgroundColor: Colors.transparent,
    context: context,
    expand: true,
    builder: (context) => BaseBottomSheet(
      minHeight: minHeight,
      maxHeight: maxHeight,
      maskColor: maskColor,
      isDismissible: isDismissible,
      enableDrag: enableDrag,
      onDismiss: onDismiss,
      child: child,
    ),
    useRootNavigator: true,
    isDismissible: isDismissible,
    enableDrag: enableDrag,
  );
}