import 'package:flutter/material.dart'; Future routeToPage(BuildContext context, Widget page) { return Navigator.of(context).push( _buildPageRoute(page), ); } void replacePage(BuildContext context, Widget page) { Navigator.of(context).pushReplacement( _buildPageRoute(page), ); } PageRouteBuilder _buildPageRoute(Widget page) { return PageRouteBuilder( pageBuilder: (BuildContext context, Animation animation, Animation secondaryAnimation) { return page; }, transitionsBuilder: (BuildContext context, Animation animation, Animation secondaryAnimation, Widget child) { return Align( child: FadeTransition( opacity: animation, child: child, ), ); }, transitionDuration: Duration(milliseconds: 200), opaque: false, ); }