open<T> static method

Future<T?> open<T>({
  1. Key? key,
  2. Color? backgroundColor,
  3. bool barrierDismissible = true,
  4. bool enableDrag = true,
  5. bool useSafeArea = true,
  6. bool useRootNavigator = true,
  7. RouteSettings? settings,
  8. AnimationController? transitionAnimationController,
  9. required WidgetBuilder builder,
})

弹出弹窗

Implementation

static Future<T?> open<T>({
  Key? key,
  Color? backgroundColor,
  bool barrierDismissible = true,
  bool enableDrag = true,
  bool useSafeArea = true,
  bool useRootNavigator = true,
  RouteSettings? settings,
  AnimationController? transitionAnimationController,
  required WidgetBuilder builder,
}) {
  final context = TdConfig.instance.context;
  final theme = TdTheme.of(context);
  final mediaQuerySize = MediaQuery.sizeOf(context);
  final mediaQueryPadding = MediaQuery.paddingOf(context);

  return showModalBottomSheet(
    context: context,
    constraints: BoxConstraints(
      maxWidth: 640.0,
      maxHeight: mediaQuerySize.height - mediaQueryPadding.top - 12.0,
    ),
    elevation: 0.0,
    barrierColor: theme.maskActive.withOpacity(0.4),
    isScrollControlled: true,
    enableDrag: enableDrag,
    useSafeArea: useSafeArea,
    transitionAnimationController: transitionAnimationController,
    builder: (context) {
      return TdPopup(
        key: key,
        backgroundColor: backgroundColor,
        useSafeArea: useSafeArea,
        child: builder(context),
      );
    },
  );
}