Expressive Refresh Indicator for Flutter

✨ A beautiful, customizable pull-to-refresh widget for Flutter that replaces the default RefreshIndicator with the Material 3 ExpressiveLoadingIndicator.


Features

  • 🎨 Replaces the spinner with an expressive, animated loader directly ported from the native Kotlin design laws.
  • ⚡ Works exactly like Flutter’s built-in RefreshIndicator.
  • 🪄 Supports custom polygon shapes (used from material_new_shapes package), colors, and sizes. It also supports normal and contained loading indicators.
  • 📱 Seamlessly integrates with ListView, GridView, or any scrollable.
  • 🔧 Fully configurable: displacement, trigger mode, edge offset, etc.

Preview


Installation

Add the dependency in your pubspec.yaml:

dependencies:
  expressive_refresh: ^0.1.0

Libraries

expressive_refresh