Scrollable widget with a

viewportBuilder, and place a

Flow widget inside the

delegate property
  that allows you to position child widgets wherever
  you want, based on the current

Configure your widget tree to make space for the PageView.

Build each FilterItem widget within the
PageView widget based on the given index.

Create a PageViewController and connect it to the
PageView widget.

With the PageViewController added, five FilterItem
widgets are visible on the screen at the same time,
and the photo filter changes as you scroll, but 
the FilterItem widgets are still the same size.

Wrap each FilterItem widget with an AnimatedBuilder
to change the visual properties of each FilterItem
widget as the scroll position changes.

The AnimatedBuilder widget rebuilds every time the
_controller changes its scroll position.
These rebuilds allow you to change the FilterItem
size and opacity as the user drags.