customAnimationWidget function
Future
customAnimationWidget({
- required Widget newPage,
- required BuildContext context,
- required Widget transitionBuilder(),
- bool opaque = true,
Create a custom animation with transitionBuilder
parameter
Here is an example of Scale Transition
(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 ScaleTransition(
scale: animation.drive(tween),
child: child,
);
}
Implementation
Future customAnimationWidget({
required Widget newPage,
required BuildContext context,
required Widget Function(
BuildContext,
Animation<double>,
Animation<double>,
Widget,
)
transitionBuilder,
bool opaque = true,
}) {
return Navigator.of(context).push(PageRouteBuilder(
opaque: opaque,
pageBuilder: (context, animation, secondaryAnimation) {
return newPage;
},
transitionsBuilder: transitionBuilder,
));
}