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