withAnimation<T> function
AnimationController
withAnimation<T>({
- required TickerProvider vsync,
- required Tween<
T> tween, - required AnimationUpdateCallBack<
T?> callBack, - Duration duration = const Duration(seconds: 1),
- double initialValue = 0.0,
- Curve curve = Curves.linear,
- Animation? customAnimation,
To perform forward animation in a simpler way
Implementation
AnimationController withAnimation<T>(
{required TickerProvider vsync,
required Tween<T> tween,
required AnimationUpdateCallBack<T?> callBack,
Duration duration = const Duration(seconds: 1),
double initialValue = 0.0,
Curve curve = Curves.linear,
Animation? customAnimation}) {
final AnimationController controller = AnimationController(
vsync: vsync,
duration: duration,
value: initialValue,
);
final curveAnimation = CurvedAnimation(parent: controller, curve: curve);
final Animation animation = customAnimation ?? tween.animate(curveAnimation);
animation.addListener(() {
callBack.call(animation.value, controller.value);
});
controller.forward().whenCompleteOrCancel(() {
controller.dispose();
});
return controller;
}