smart_scroll 1.0.3
smart_scroll: ^1.0.3 copied to clipboard
A Flutter pull-to-refresh and infinite scroll widget. Supports pull down to refresh, pull up to load more, pagination, custom indicators (Material, Cupertino, WaterDrop, Bezier), horizontal/vertical s [...]
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.3 #
Improved #
- Core Performance: Completely eliminated
O(N)widget tree traversal duringapplyBoundaryConditionsscroll loops by utilizing anO(1)cachedrenderSliverlookup. - Core Performance: Removed excessive
InheritedWidgetlistener dependency inside the rendering pipeline (updateRenderObject). - Core Performance: Optimized
math.powcalculations in scroll physics friction, swapping it out for direct mathematical multiplication for extreme 120Hz consistency.
1.0.2 #
Added #
- PlatformHeader — native-adaptive refresh indicator (iOS Cupertino / Android Material)
- PlatformFooter — native-adaptive load-more footer
- BuilderHeader / BuilderFooter — custom indicator API with
dragProgress,offset,triggereddata RefreshIndicatorData/LoadIndicatorData— rich state classes for custom animation buildersRefreshControllerconvenience methods:refreshCompleted(),loadComplete(),loadFailed(),loadNoData(),resetNoData()- GitHub Actions CI workflow (analyze, format, test)
- PR template, issue templates, CONTRIBUTING.md
Improved #
- Scroll physics: cached configuration values to avoid per-frame InheritedWidget lookups
- Platform-aware overscroll behavior (iOS bouncing vs Android clamping)
- Reduced unnecessary rebuilds in indicator state management
Fixed #
- Removed stale TODO comments and unnecessary overrides
- Fixed lint warnings across all source files
- Cleaned up code formatting
1.0.1 #
1.0.0 #
Added #
- Initial release of smart_scroll package
- Comprehensive list scrolling, pull refresh, and load more functionality
- Multiple indicator styles: Bezier, Classic, Custom, Link, Material, TwoLevel, and WaterDrop
- Support for both refresh and load more operations
- Fully customizable with various animation styles and themes
- Extensive documentation and examples
- Cross-platform compatibility (iOS, Android, Web, Desktop)
