rotationTransition method

PageRouteBuilder rotationTransition({
  1. required Widget screen(
    1. BuildContext ctx,
    2. Animation<double> animation,
    3. Animation<double> secondaryAnimation
    ),
  2. Duration transitionDuration = const Duration(milliseconds: 300),
  3. Duration reverseTransitionDuration = const Duration(milliseconds: 300),
})

Implementation

PageRouteBuilder rotationTransition({
  required Widget Function(
    BuildContext ctx,
    Animation<double> animation,
    Animation<double> secondaryAnimation,
  ) screen,
  Duration transitionDuration = const Duration(milliseconds: 300),
  Duration reverseTransitionDuration = const Duration(milliseconds: 300),
}) {
  const begin = 0.0;
  const end = 1.0;
  final tween = Tween(begin: begin, end: end);
  return PageRouteBuilder(
    pageBuilder: screen,
    transitionDuration: transitionDuration,
    reverseTransitionDuration: reverseTransitionDuration,
    transitionsBuilder: (context, animation, secondaryAnimation, child) {
      final rotationAnimation = animation.drive(tween);
      return RotationTransition(turns: rotationAnimation, child: child);
    },
  );
}