getAnimationSequence method

MultiAnimationSequence getAnimationSequence()
override

Implementation

MultiAnimationSequence getAnimationSequence() {
  Duration singleDuration =
      Duration(milliseconds: (duration.inMilliseconds / repeats / 2).round());
  var sequence = AnimationSequence<double>();

  for (int i = 0; i < repeats; i++) {
    if (i == 0) {
      sequence.add(value: 1, duration: Duration.zero, delay: delay);
    } else {
      sequence.add(value: 1, duration: singleDuration, curve: curve);
    }
    sequence.add(value: 0, duration: singleDuration, curve: curve);
  }
  sequence.add(value: 1, duration: singleDuration, curve: curve);

  return MultiAnimationSequence(control: control, sequences: {
    AnimationProperty.opacity: sequence,
  });
}