/inertia

Flutter library for inertia-based animations of Scrollables children

Primary LanguageC++MIT LicenseMIT

scrollable_inertia

MIT License

A set of easy to apply scroll list customizations to make your Flutter application stand out in the crowd.

Usage

Each interia effect is based on Scrollable's (i.e. ListView, SingleChildScrollView, GridView, ...) ability to notify parent widgets about the current speed and axis of the current scroll action. InertiaListener is the widget that will pick up the information and pass it down to specific effects to apply the inertia-based animation.

Inertia-based spacing

Make the list's items be affected by inertia of the scroll:

Inertia-based spacing demo

Wrap each child of the scrollable with the InertiaSpacing widget, e.g.:

InertiaListener(
  child: ListView.builder(
    itemBuilder: (_, __) => InertiaSpacing(
      child: YourListItem()
    ),
  ),
)...

Motion blur

Make the list's items be affected by inertia of the scroll:

Motion blur demo

Wrap the whole scrollable with the MotionBlur, e.g.:

InertiaListener(
  child: MotionBlur(
    child: GridView.builder(...)
  ),
)...