getAnimationSequence method

MultiAnimationSequence getAnimationSequence()
override

Implementation

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

  sequence.add(
      value: BoxDecoration(
          gradient: LinearGradient(colors: [Colors.red, Colors.orange])),
      duration: Duration.zero,
      delay: delay);
  sequence.add(
      value: BoxDecoration(
          gradient: LinearGradient(colors: [Colors.orange, Colors.yellow])),
      duration: singleDuration,
      curve: curve);
  sequence.add(
      value: BoxDecoration(
          gradient: LinearGradient(colors: [Colors.yellow, Colors.green])),
      duration: singleDuration,
      curve: curve);
  sequence.add(
      value: BoxDecoration(
          gradient: LinearGradient(colors: [Colors.green, Colors.blue])),
      duration: singleDuration,
      curve: curve);
  sequence.add(
      value: BoxDecoration(
          gradient: LinearGradient(colors: [Colors.blue, Colors.indigo])),
      duration: singleDuration,
      curve: curve);
  sequence.add(
      value: BoxDecoration(
          gradient: LinearGradient(colors: [Colors.indigo, Colors.purple])),
      duration: singleDuration,
      curve: curve);
  sequence.add(
      value: BoxDecoration(
          gradient: LinearGradient(colors: [Colors.purple, Colors.red])),
      duration: singleDuration,
      curve: curve);

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