To be more precise, rather than assume that the shimmer
should take up the entire screen,
there should be some area that shares the shimmer.
Maybe that area takes up the entire screen,
or maybe it doesn’t. The way to solve this 
kind of problem in Flutter is to define another widget
that sits above all of the ShimmerLoading widgets
in the widget tree, and call it Shimmer. 
Then, each ShimmerLoading widget gets a reference
to the Shimmer ancestor
and requests the desired size and gradient to display.

Define a new stateful widget called Shimmer that
takes in a LinearGradient and provides descendants
with access to its State object.

Wrap all of your screen’s content with the Shimmer widget.

Use the Shimmer widget within your
ShimmerLoading widget to paint the shared gradient.

Your ShimmerLoading widgets now display a shared
gradient that takes up all of the space within the
Shimmer widget.

Animate the shimmer