animatedDialog<T> static method

Future<T?> animatedDialog<T>(
  1. Widget child, {
  2. bool barrierDismissible = true,
  3. bool useRootNavigator = true,
  4. Color? barrierColor,
  5. RouteTransitions transition = RouteTransitions.fadeScale,
  6. Duration duration = const Duration(milliseconds: 250),
  7. Curve curve = Curves.easeOut,
  8. Alignment alignment = Alignment.center,
  9. VoidCallback? onDismiss,
})

Implementation

static Future<T?> animatedDialog<T>(
  Widget child, {
  bool barrierDismissible = true,
  bool useRootNavigator = true,
  Color? barrierColor,
  RouteTransitions transition = RouteTransitions.fadeScale,
  Duration duration = const Duration(milliseconds: 250),
  Curve curve = Curves.easeOut,
  Alignment alignment = Alignment.center,
  VoidCallback? onDismiss,
}) =>
    showGeneralDialog<T>(
      context: navigatorKey.currentContext!,
      barrierDismissible: barrierDismissible,
      barrierLabel: MaterialLocalizations.of(navigatorKey.currentContext!).modalBarrierDismissLabel,
      barrierColor: barrierColor ?? Colors.black54,
      useRootNavigator: useRootNavigator,
      transitionDuration: duration,
      pageBuilder: (BuildContext context, Animation<double> _, Animation<double> _) => Align(alignment: alignment, child: child),
      transitionBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget widget) =>
          _getTransition(transition, curve)(context, animation, secondaryAnimation, widget),
    ).then((T? value) {
      onDismiss?.call();
      return value;
    });