oneShot method

AnimatedEffect oneShot({
  1. Key? key,
  2. Duration duration = const Duration(milliseconds: 350),
  3. Curve curve = appleEaseInOut,
  4. int repeat = 0,
  5. bool reverse = false,
  6. bool resetValues = false,
  7. bool interruptable = true,
  8. Duration delay = Duration.zero,
  9. VoidCallback? onEnd,
  10. BooleanCallback? playIf,
  11. BooleanCallback? skipIf,
  12. AnimationBehavior? animationBehavior,
})

Animate the effects applied to this widget.

Unlike animate, this method triggers the animation immediately without a trigger parameter.

The duration parameter is used to set the duration of the animation.

The curve parameter is used to set the curve of the animation.

The onEnd parameter is used to set a callback that is called when the animation ends.

The repeat parameter is used to determine how the animation should be repeated.

The reverse parameter is used to determine whether the animation should play backwards after each repetition.

The resetValues parameter is used to determine whether the animation should start from idle values or from the current state of the widget. If set to true, the animation will always animate from the initial default state of an effect towards the current state. When false, the animation will animate from the previous effect state towards the current state.

The interruptable parameter is used to determine whether the animation should be reset on subsequent triggers. If this animation is re-triggered, it will reset the current active animation and re-drive from the beginning.

The delay parameter is used to set a delay before the animation starts.

The playIf parameter is used to determine whether the animation should be played or skipped. If the callback returns false, the animation will be skipped, even when it is explicitly triggered.

The skipIf parameter is used to determine whether the animation should be skipped by setting the animation value to 1, effectively skipping the animation to the ending values.

Implementation

AnimatedEffect oneShot({
  Key? key,
  Duration duration = const Duration(milliseconds: 350),
  Curve curve = appleEaseInOut,
  int repeat = 0,
  bool reverse = false,
  bool resetValues = false,
  bool interruptable = true,
  Duration delay = Duration.zero,
  VoidCallback? onEnd,
  BooleanCallback? playIf,
  BooleanCallback? skipIf,
  AnimationBehavior? animationBehavior,
}) {
  return AnimatedEffect(
    key: key,
    triggerType: AnimationTriggerType.oneShot,
    duration: duration,
    curve: curve,
    onEnd: onEnd,
    repeat: repeat,
    reverse: reverse,
    resetValues: resetValues,
    interruptable: interruptable,
    delay: delay,
    playIf: playIf,
    skipIf: skipIf,
    animationBehavior: animationBehavior,
    child: this,
  );
}