import 'package:flutter/material.dart'; Function pageBuilder = (final Widget widget) => ( final BuildContext context, final Animation animation, final Animation secondaryAnimation, ) => widget; Function transitionsBuilder = ( final BuildContext context, final Animation animation, final Animation secondaryAnimation, final Widget child, ) => SlideTransition( position: Tween( begin: const Offset(-1, 0), end: Offset.zero, ).animate(animation), child: Container( decoration: animation.isCompleted ? null : const BoxDecoration( border: Border( right: BorderSide( color: Colors.black, ), ), ), child: child, ), ); class SlideRightRoute extends PageRouteBuilder { SlideRightRoute(this.widget) : super( pageBuilder: pageBuilder(widget), transitionsBuilder: transitionsBuilder as Widget Function( BuildContext, Animation, Animation, Widget, ), ); final Widget widget; }