Expose the _shimmerController from ShimmerState
as a Listenable.

In ShimmerLoading, listen for changes to the ancestor
ShimmerState’s shimmerChanges property,
and repaint the shimmer gradient.

Congratulations!
You now have a full-screen,
animated shimmer effect that turns 
on and off as the content loads.

Note:
  This recipe doesn’t provide an interactive DartPad because
  ShaderMask widgets have not yet been implemented for the web.
  You can run this recipe on a mobile or desktop device by
  cloning the example code. See the “UI loading animation” 
  example under the “cookbook” directory.

Create a scrolling parallax effect

Create a staggered menu animation