showSlideDialog<T> static method

dynamic showSlideDialog<T>({
  1. required BuildContext context,
  2. required Widget child,
  3. Color? barrierColor,
  4. bool barrierDismissible = true,
  5. Duration transitionDuration = const Duration(milliseconds: 300),
  6. Color? pillColor,
  7. Color? backgroundColor,
})

Implementation

static showSlideDialog<T>({
  required BuildContext context,
  required Widget child,
  Color? barrierColor,
  bool barrierDismissible = true,
  Duration transitionDuration = const Duration(milliseconds: 300),
  Color? pillColor,
  Color? backgroundColor,
}) {
  return showGeneralDialog(
    context: context,
    pageBuilder: (context, animation1, animation2) {
      return child;
    },
    barrierColor: barrierColor ?? Colors.black.withOpacity(0.7),
    barrierDismissible: barrierDismissible,
    barrierLabel: "Dismiss",
    transitionDuration: transitionDuration,
    transitionBuilder: (context, animation1, animation2, widget) {
      final curvedValue = Curves.easeInOut.transform(animation1.value) - 1.0;
      return Transform(
        transform: Matrix4.translationValues(0.0, curvedValue * -300, 0.0),
        child: Opacity(
          opacity: animation1.value,
          child: SlideDialog(
            child: child,
            pillColor: pillColor ?? Colors.white,
            backgroundColor: backgroundColor ?? Colors.black,
          ),
        ),
      );
    },
  );
}