SlidingPageNavigator function

void SlidingPageNavigator(
  1. BuildContext context,
  2. Widget screen,
  3. bool replace
)

Implementation

void SlidingPageNavigator(BuildContext context, Widget screen, bool replace) {
  if (replace) {
    Navigator.pushReplacement(
      context,
      PageRouteBuilder(
        pageBuilder: (context, animation, secondaryAnimation) => screen,
        transitionsBuilder: (context, animation, secondaryAnimation, child) {
          const begin = Offset(1.0, 0.0);
          const end = Offset.zero;
          var tween = Tween(begin: begin, end: end);
          var offsetAnimation = animation.drive(tween);
          return SlideTransition(
            position: offsetAnimation,
            child: child,
          );
        },
        transitionDuration:
            Duration(milliseconds: 600), // Set a custom duration (3 seconds)
      ),
    );
  } else {
    Navigator.push(
      context,
      PageRouteBuilder(
        pageBuilder: (context, animation, secondaryAnimation) => screen,
        transitionsBuilder: (context, animation, secondaryAnimation, child) {
          const begin = Offset(1.0, 0.0);
          const end = Offset.zero;
          var tween = Tween(begin: begin, end: end);
          var offsetAnimation = animation.drive(tween);
          return SlideTransition(
            position: offsetAnimation,
            child: child,
          );
        },
        transitionDuration:
            Duration(milliseconds: 600), // Set a custom duration (3 seconds)
      ),
    );
  }
}