smart_
refresher
The most complete pull-to-refresh and infinite loading solution for Flutter. Robust, customizable, and production-ready.
SmartRefresher( controller: _refreshController, // enable infinite scroll enablePullDown: true, enablePullUp: true, header: const WaterDropHeader(), onRefresh: _onRefresh, onLoading: _onLoading, child: ListView.builder( itemCount: items.length, itemBuilder: (c, i) => ItemTile(items[i]), ), )
Everything you need
for smooth scrolling.
Easy to Use
Wrap any scrollable widget with SmartRefresher and you're
done. No complex setup required.
5 Built-in Themes
Classic, Material 3, iOS 17, WaterDrop, and Glassmorphism — or build your own custom indicator.
High Performance
Sliver-native architecture for smooth 60fps animations even with large lists and complex scroll views.
State Management Ready
First-class integration with Riverpod, Bloc, Provider, and any other reactive state solution.
All Platforms
Works on iOS, Android, Web, macOS, Windows, and Linux — wherever Flutter runs.
Dart 3 & Flutter 3.x
Fully null-safe, no external dependencies, and compatible with the latest Flutter releases.
Start building today.
Join thousands of developers building high-performance Flutter apps with smart_refresher.