build method
Implementation
@override
Widget build(BuildContext context, Animation<double> primaryAnimation,
Animation<double> secondaryAnimation, Widget child) {
var exitAnimation = secondaryAnimation as ProxyAnimation;
final double width = MediaQuery.of(context).size.width;
if (!exitAnimation.isDismissed) {
var animation = CurvedAnimation(parent: secondaryAnimation, curve: curve);
double scaleExit = (1 - animation.value) > scale
? scale + (1 - animation.value - scale)
: scale;
return Container(
color: backgroundColor,
child: Transform(
alignment: exitPageAlignment,
transform: Matrix4.identity()
..scale(scaleExit)
..leftTranslate(-width * animation.value),
child: child,
));
} else {
var animation = CurvedAnimation(parent: primaryAnimation, curve: curve);
double scaleEnter =
animation.value > scale ? scale + (animation.value - scale) : scale;
return Transform(
alignment: enterPageAlignment,
transform: Matrix4.identity()
..scale(scaleEnter)
..leftTranslate(width * (1 - animation.value)),
child: child,
);
}
}