easy_refresh 4.0.0
easy_refresh: ^4.0.0 copied to clipboard
A flutter widget that provides pull-down refresh and pull-up load.
4.0.0 #
Note: This release has breaking changes.
- BREAKING FEAT: migrate to material_ui and cupertino_ui for Flutter 3.47.
- BREAKING: Remove the unused pre-Flutter 3.32
kBezierSpringBuilderBelow3_32helper. - FEAT: Expose
strokeWidth,strokeAlign,strokeCap,elevation,indicatorMargin, andindicatorPaddingon MaterialHeader and MaterialFooter. - CHORE: Upgrade to material_ui 1.5.0 and cupertino_ui 1.1.1; use floating-point color alpha supported by Flutter 3.47.
- Requires Flutter >= 3.47 and Dart ^3.13.
- Built-in indicators resolve
Themeand localizations frompackage:material_ui/package:cupertino_ui. - Apps still using
package:flutter/material.dartshould stay oneasy_refresh: ^3.5.1. - FEAT: NestedScrollView-safe physics,
EasyRefresh.nested, andisNestedas nested-safe physics (not bouncing patches). - FIX: NestedScrollView retracts Header before collapsing the AppBar when pushing up, so releasing below trigger no longer starts a refresh.
- FIX: Completing refresh while the NestedScrollView AppBar is collapsed no longer flashes the AppBar background.
- FIX: Nested TabBarView Footer / callLoad bind the visible inner instead of the first attached tab (#735).
- FIX: Inner EasyRefresh auto-adopted into NestedScrollView keeps nested-safe state across parent rebuilds (#758).
- FIX: NestedScrollView ballistic
result/RenderBox.sizeasserts after refresh or load (#627, #652, #908). - FIX: NestedScrollView ClassicFooter remaining after load (#678).
- FIX: Page-level Nested refresh, per-tab Footer, and per-tab EasyRefresh isolation (#508, #725, #838).
- FIX:
EasyRefresh.builderpreserves Footer overscroll across keyboard-driven viewport changes (#890). - FIX: Remove unused
ValueNotifierwrappers from ballistic simulation state snapshots (#916). - FIX: Hide the opposite indicator while refresh/load tasks are mutually exclusive, while preserving non-clamping overscroll (#872).
- FIX: Stop carrying stale Footer rebound velocity after appended content expands the scroll extent (#831).
- FIX: Remove duplicate Cupertino indicator keys that could conflict during
AnimatedSwitchertransitions (#719). - FIX: Allow Header/Footer positions already beyond
maxOverOffsetto rebound toward the valid range without returning an invalid boundary delta (#650). - FEAT: Add
IndicatorTriggerMode.onEdgefor Header/Footer drag-start triggering while preserving the existinganywheredefault (#606). - Ship 3 package skills with complete examples and package-specific guidance.
- Update usage documentation and skill installation instructions.
- FIX: Resume Header/Footer rebound after a tap interrupts the closing animation (#913).
- FIX: Support secondary-page closing gestures and interrupted animations with NestedScrollView, including automatically detected nested positions (#853).
3.5.1 #
- FIX: Use withAlpha instead of withValues (https://github.com/xuelongqy/flutter_easy_refresh/issues/911).
3.5.0 #
- FIX: material clamping spring (https://github.com/xuelongqy/flutter_easy_refresh/issues/885) (https://github.com/xuelongqy/flutter_easy_refresh/issues/620).
- FIX: mode unchange when not released (https://github.com/xuelongqy/flutter_easy_refresh/issues/894).
- FIX: secondary page.
- FIX: effective scroll position.
- FIX: footer mode (https://github.com/xuelongqy/flutter_easy_refresh/pull/905).
- FIX: clamping animation controller (https://github.com/xuelongqy/flutter_easy_refresh/issues/907).
- FEAT: easy paging.
- FEAT: update rive.
- FEAT: update readme.
- FEAT: workspace.
- BREAKING FEAT: Added EasyRefresh.isNested parameter to determine whether to handle NestedScrollView. In versions 3.4.0 and earlier, no setting is required.
- FIX: Adjust the Flutter version, Flutter >=3.10.0.
3.4.0 #
- breaking: Flutter >=3.7.0, dart >=2.19.0. Remove some unnecessary compatibility, please update the Flutter version in time, or use the previous version.
- fix: Scroll bar adaptation for unknown platforms #825.
- feat: Add BoxDecoration to ClassicHeader and ClassicFooter, Thanks GiampaoloGabba for PR#822.
- fix: Compatible with Flutter3.22.0.
3.3.5 #
3.3.4 #
3.3.3+1 #
- fix: All styles are lost.
3.3.3 #
3.3.2+4 #
3.3.2 #
- fix: BezierIndicator.spinBuilder doesn't work.
- feat: Add BezierIndicator.spinInCenter.
- feat: Add BezierIndicator.onlySpin #689.
- feat: Add support for ScrollPhysics.toleranceFor.
- feat: After failure, continue to scroll to trigger the task #718.
- feat: [EasyRefresh] noMoreRefresh -> canRefreshAfterNoMore, noMoreLoad -> canRefreshAfterLoad
- fix: Use canRefreshAfterNoMore or canRefreshAfterLoad, abnormal NoMore status.
- feat: EasyRefreshController.finishRefresh and EasyRefreshController.finishLoad add force parameter.
- feat: Add EasyRefresh.triggerAxis, specifies the direction of the trigger.
3.3.1+1 #
3.3.1 #
3.3.0 #
- fix: Compatible with Flutter 3.7.
3.2.2+1 #
- fix: CupertinoActivityIndicator renamed to avoid conflicts.
3.2.1 #
- fix: Footer's maxOverOffset property does not work.
- fix: When maxOverOffset is 0, list scrolling loses inertia.
- fix: When there is no task, the mode still changes #608.
- fix: HapticFeedback does not work when triggerWhenReach is true.
3.2.0+1 #
- fix: When clamping, triggerWhenRelease is true causing the indicator to be stuck.
- feat: Material indicator support triggerWhenRelease.
3.2.0 #
3.1.0 #
- feat: Add paging widget [EasyPaging].
3.0.5+1 #
- fix: Clamping refresh, causing Material3 AppBar to change color.
3.0.5 #
- fix: [EasyRefreshController.callRefresh] and [EasyRefreshController.callLoad] add force #633 #642. Thanks percival888 for PR#639.
- fix: When the height changes when callTask causes the list not to rebound.
- feat: Add [EasyRefresh.scrollBehaviorBuilder] and [EasyRefresh.defaultScrollBehaviorBuilder]. Thanks laiiihz for PR#614.
3.0.4+3 #
- feat: When the content of the list is not full, the infinite scroll does not cross the bounds #588.
3.0.4+1 #
3.0.4 #
- fix: ScrollMetrics.minScrollExtent != 0.0, offset calculation error.
- feat: Supported [ScrollView.center] #581.
3.0.3+1 #
- docs: NestedScrollView example.
3.0.3 #
3.0.2+2 #
- fix: ClassicIndicator transition animation.
- fix: NotRefreshHeader and NotLoadFooter [position] causes tree structure changes.
3.0.2+1 #
- fix: [viewportDimension] changes may trigger loading.
3.0.2 #
- feat: Indicator add [triggerWhenReach] #348. Trigger immediately when reaching the [triggerOffset].
- feat: CupertinoIndicator support horizontal.
3.0.1+1 #
- fix: CupertinoActivityIndicator radius == 0.
3.0.1 #
- fix: Use notifyListeners after ChangeNotifier disposed. Thanks laiiihz for PR#555.
- feat: ClassicHeader、ClassicFooter add IconThemeData. Thanks Lay523 for PR#562.
- feat: ClassicIndicator add [progressIndicatorSize] and [progressIndicatorStrokeWidth].
- feat: Add CupertinoIndicator.
- fix: finishLoad asset #563.
3.0.0+3 #
- fix: dart >=2.13.0.
- fix: The screen is not full, [infinite] can not reset.
- feat: HeaderLocator and FooterLocator add [clearExtent].
- feat: Add OverrideFooter and OverrideHeader.
3.0.0+2 #
- fix: Scores
3.0.0+1 #
- fix: .pubignore