AnimationController provides several methods for “driving” an animation:

repeat()

forward()

reverse()

stop()

reset()

Run the following example to see this explicit animation in action!

AnimationController concepts

As the name suggests, the AnimationController controls the
animation.

The Animation object

Lifecycle of an animation (completed, dismissed)

An Animation has a status and a value.

The value depends on what the user wants,
and can be of any type, such as  or .

The controller’s status has four possible
values: dismissed, forward, reverse, and completed.

AnimationController is the central class that you use
to create explicit animations; its capabilities
fall into four categories:
defining animations, generating animation values,
registering listeners, and play or sequence controls: