slide<T> static method

PageRouteBuilder<T> slide<T>(
  1. Widget child, {
  2. Offset? begin,
  3. Offset? end,
  4. Animatable<double>? curve,
  5. bool transformHitTests = true,
  6. TextDirection? textDirection,
  7. required Duration transitionDuration,
  8. required Duration reverseTransitionDuration,
  9. required bool opaque,
  10. required bool barrierDismissible,
  11. Color? barrierColor,
  12. String? barrierLabel,
  13. required bool maintainState,
  14. required bool fullscreenDialog,
  15. required bool allowSnapshotting,
})

Implementation

static PageRouteBuilder<T> slide<T>(
  Widget child, {
  Offset? begin,
  Offset? end,
  Animatable<double>? curve,
  bool transformHitTests = true,
  TextDirection? textDirection,
  required Duration transitionDuration,
  required Duration reverseTransitionDuration,
  required bool opaque,
  required bool barrierDismissible,
  Color? barrierColor,
  String? barrierLabel,
  required bool maintainState,
  required bool fullscreenDialog,
  required bool allowSnapshotting,
}) {
  return _transitionRoute<T>(child, (animation) {
    Offset start = begin ?? const Offset(1.0, 0.0);
    Offset finish = end ?? Offset.zero;
    Animatable<double> animate = curve ?? CurveTween(curve: Curves.easeInOut);

    var tween = Tween(begin: start, end: finish).chain(animate);
    var offsetAnimation = animation.drive(tween);

    return SlideTransition(
      position: offsetAnimation,
      transformHitTests: transformHitTests,
      textDirection: textDirection,
      child: child,
    );
  },
      transitionDuration: transitionDuration,
      reverseTransitionDuration: transitionDuration,
      opaque: opaque,
      barrierDismissible: barrierDismissible,
      barrierColor: barrierColor,
      barrierLabel: barrierLabel,
      maintainState: maintainState,
      fullscreenDialog: fullscreenDialog,
      allowSnapshotting: allowSnapshotting);
}