fadeWidget function

Future fadeWidget({
  1. required Widget newPage,
  2. required BuildContext context,
  3. bool opaque = true,
})

Custom page animation with fade transition

Implementation

Future fadeWidget({
  required Widget newPage,
  required BuildContext context,
  bool opaque = true,
}) {
  return Navigator.of(context).push(PageRouteBuilder(
    opaque: opaque,
    pageBuilder: (context, animation, secondaryAnimation) {
      return newPage;
    },
    transitionsBuilder: (context, animation, secondaryAnimation, child) {
      var begin = 0.0;
      var end = 1.0;
      var curve = Curves.easeIn;

      var tween = Tween(begin: begin, end: end).chain(CurveTween(curve: curve));

      return FadeTransition(
        opacity: animation.drive(tween),
        child: child,
      );
    },
  ));
}