CustomPageRoute<T> constructor
CustomPageRoute<T> ({
- required Widget page,
- TransitionStyle transitionStyle = TransitionStyle.slide,
- Offset beginOffset = const Offset(1.0, 0.0),
- bool zoomIn = false,
- Duration duration = const Duration(milliseconds: 300),
Implementation
CustomPageRoute({
required this.page,
this.transitionStyle = TransitionStyle.slide, // Default is Slide
this.beginOffset = const Offset(1.0, 0.0), // Slide from right by default
this.zoomIn = false, // Zoom in by default
this.duration = const Duration(milliseconds: 300), // Transition duration
}) : super(
pageBuilder: (context, animation, secondaryAnimation) => page,
transitionDuration: duration,
transitionsBuilder: (context, animation, secondaryAnimation, child) {
switch (transitionStyle) {
case TransitionStyle.slide:
return _buildSlideTransition(animation, child);
case TransitionStyle.bottomSheet:
return _buildBottomSheetTransition(animation, child);
case TransitionStyle.zoomOut:
return _buildZoomOutTransition(animation, child);
default:
return _buildSlideTransition(
animation, child); // Default to Slide
}
},
);