25 lines
749 B
Dart
25 lines
749 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
class SlideFromRightRoute extends PageRouteBuilder {
|
|
final Widget page;
|
|
|
|
SlideFromRightRoute({required this.page})
|
|
: super(
|
|
pageBuilder: (context, animation, secondaryAnimation) => page,
|
|
transitionsBuilder: (context, animation, secondaryAnimation, child) {
|
|
const begin = Offset(1.0, 0.0); // départ à droite (hors écran)
|
|
const end = Offset.zero; // arrivée position normale
|
|
const curve = Curves.easeInOut;
|
|
|
|
final tween =
|
|
Tween(begin: begin, end: end).chain(CurveTween(curve: curve));
|
|
final offsetAnimation = animation.drive(tween);
|
|
|
|
return SlideTransition(
|
|
position: offsetAnimation,
|
|
child: child,
|
|
);
|
|
},
|
|
);
|
|
}
|