handleAnimateChange method
void
handleAnimateChange({
- required Duration delay,
- required bool animate,
- required bool manualTrigger,
- required bool infinite,
- Duration loopDelay = Duration.zero,
inherited
Reacts to animate toggles after initState. Should be called from
didUpdateWidget (or any custom flow) when widget.animate changes.
Implementation
void handleAnimateChange({
required Duration delay,
required bool animate,
required bool manualTrigger,
required bool infinite,
Duration loopDelay = Duration.zero,
}) {
if (disposed) return;
if (animate && !manualTrigger) {
_scheduleStart(delay: delay, infinite: infinite, loopDelay: loopDelay);
return;
}
if (!animate) {
_delayTimer?.cancel();
if (infinite) {
_loopTimerActive = false;
_loopDelayTimer?.cancel();
controller.stop();
controller.value = 0;
return;
}
if (this is ResetOnReverseAnimation && !isFirstTime) {
controller.value = 0;
return;
}
controller.animateBack(0);
isFirstTime = false;
}
}