import 'package:flutter/material.dart'; Route slideRoute(Widget page) => PageRouteBuilder( pageBuilder: (_, a, __) => page, transitionsBuilder: (_, a, __, child) => SlideTransition( position: Tween(begin: const Offset(1, 0), end: Offset.zero) .animate(CurvedAnimation(parent: a, curve: Curves.easeOut)), child: child, ), transitionDuration: const Duration(milliseconds: 320), ); Route fadeRoute(Widget page) => PageRouteBuilder( pageBuilder: (_, a, __) => page, transitionsBuilder: (_, a, __, child) => FadeTransition(opacity: a, child: child), transitionDuration: const Duration(milliseconds: 400), ); Route scaleRoute(Widget page) => PageRouteBuilder( pageBuilder: (_, a, __) => page, transitionsBuilder: (_, a, __, child) => ScaleTransition( scale: Tween(begin: 0.88, end: 1.0) .animate(CurvedAnimation(parent: a, curve: Curves.easeOut)), child: FadeTransition(opacity: a, child: child), ), transitionDuration: const Duration(milliseconds: 350), );