fluid_list_view

A Flutter widget that creates a high-performance, interactive list where items follow the user's touch with a smooth, organic lag effect. It features built-in virtualization to handle large lists efficiently by only rendering visible items.


Live Demo

Try it out in your browser:
https://fluid-list-view-demo.netlify.app/


Preview screenshots

delayFactor = 0 delayFactor = 3 delayFactor = 10
Demo screenshot Demo screenshot2 Demo screenshot2
axis = Axis.horizontal & delayFactor = 2
Demo screenshot

Features

  • Interactive Fluid Motion: Items react to touch position with a dynamic delay based on distance.
  • Efficient Virtualization: Uses an optimized stack to render only items within the viewport.
  • Directional Support: Works seamlessly in both Axis.vertical and Axis.horizontal.
  • Customizable Physics: Control the "laziness" of the animation using the delayFactor.
  • Lightweight: Built using core Flutter widgets like AnimatedPositioned and GestureDetector.
  • Edge Awareness: Built-in onTopReached and onEndReached callbacks for seamless infinite scrolling and pagination.
  • Pull-to-Refresh: Support pull-to-refresh with callback onRefresh, allow to custom refreshThreshold, refreshIndicator and loadingIndicator.

Getting started

Add to your pubspec.yaml:

dependencies:
  fluid_list_view: ^1.2.0

Libraries

fluid_list_view