Putting it all together

The Fade-in text effect example demonstrates the following features
of AnimatedOpacity:

AnimatedOpacity listens for state changes in its opacity property.

Whenever opacity changes, AnimatedOpacity automatically animates the
widget’s transition to the new value for opacity.

AnimatedOpacity requires a duration parameter to define the time it takes
to animate the transition between an old opacity value and a new one.

Note that Implicit animations can only animate properties of a parent
  StatefulWidget, so this example begins with the FadeInDemo widget that
  extends StatefulWidget.

Notice also that AnimatedOpacity animates a single property: opacity.
  Some implicitly animated widgets can animate many properties, as the following
  example illustrates.

Example: Shape-shifting effect

AnimatedContainer widget to
animate multiple properties (

Material App home screen that contains: