import 'package:flutter/material.dart'; class FadeSlidePageRoute extends PageRouteBuilder { final Widget child; FadeSlidePageRoute({required this.child}) : super( pageBuilder: (context, animation, secondaryAnimation) => child, transitionsBuilder: (context, animation, secondaryAnimation, child) { final fadeAnimation = CurvedAnimation( parent: animation, curve: Curves.easeOut, ); final slideAnimation = Tween( begin: const Offset(0.0, 0.05), end: Offset.zero, ).animate( CurvedAnimation( parent: animation, curve: Curves.easeOutCubic, ), ); return FadeTransition( opacity: fadeAnimation, child: SlideTransition( position: slideAnimation, child: child, ), ); }, transitionDuration: const Duration(milliseconds: 300), reverseTransitionDuration: const Duration(milliseconds: 200), ); }