buildAnimations method

Widget buildAnimations({
  1. required Animation<double> animation,
  2. required Widget child,
  3. required DialogTransition dialogTransition,
})

Builds the animations widget.

Implementation

Widget buildAnimations({
  required Animation<double> animation,
  required Widget child,
  required DialogTransition dialogTransition,
}) {
  switch (dialogTransition.transitionType) {
    case TransitionType.fade:
      return FadeTransition(
        opacity:
            CurvedAnimation(curve: dialogTransition.curve, parent: animation),
        child: child,
      );
    case TransitionType.rotation:
      return RotationTransition(
        turns:
            CurvedAnimation(curve: dialogTransition.curve, parent: animation),
        child: child,
      );
    case TransitionType.scale:
      return ScaleTransition(
        alignment: dialogTransition.alignment ?? Alignment.center,
        scale:
            CurvedAnimation(curve: dialogTransition.curve, parent: animation),
        child: child,
      );
    case TransitionType.scaleAndFade:
      return FadeTransition(
        opacity:
            CurvedAnimation(curve: dialogTransition.curve, parent: animation),
        child: ScaleTransition(
          scale: CurvedAnimation(
              curve: dialogTransition.curve, parent: animation),
          child: child,
        ),
      );
    case TransitionType.slide:
      return SlideTransition(
        position: Tween<Offset>(
                begin: dialogTransition.startOffset ?? const Offset(1, 0),
                end: Offset.zero)
            .animate(
          CurvedAnimation(parent: animation, curve: dialogTransition.curve),
        ),
      );
    default:
      return child;
  }
}