sharedAxis static method
- Shared Axis transition route (Horizontal or Vertical with crossfade)
Implementation
static PageRouteBuilder sharedAxis({
required Widget page,
bool vertical = false,
Duration duration = const Duration(milliseconds: 350),
}) {
return PageRouteBuilder(
pageBuilder: (context, animation, secondaryAnimation) => page,
transitionDuration: duration,
reverseTransitionDuration: duration,
transitionsBuilder: (context, animation, secondaryAnimation, child) {
final slideTween = Tween<Offset>(
begin: vertical ? const Offset(0.0, 0.12) : const Offset(0.12, 0.0),
end: Offset.zero,
).chain(CurveTween(curve: MotionCurves.swiftOut));
return SlideTransition(
position: animation.drive(slideTween),
child: FadeTransition(
opacity: animation,
child: child,
),
);
},
);
}