smart_refresher library

Classes

BezierCircleHeader
A pre-built refresh header combining a bezier container and a circle indicator.
BezierHeader
A refresh header that provides a bezier curve container effect.
BoneCard
A skeleton layout that mirrors a card with media and text.
BoneImageRow
A skeleton layout that mirrors a row of image thumbnails.
BoneListTile
A skeleton layout that mirrors a typical list tile row.
BoneTextBlock
A skeleton layout that mirrors a short block of text lines.
ChRefreshString
Chinese implementation of RefreshString.
ClassicFooter
The most common loading footer, combining text and an icon.
ClassicHeader
The most common refresh header, combining text and an icon.
CustomFooter
A custom loading footer indicator. Usage is similar to CustomHeader.
CustomHeader
A custom refresh header indicator.
DeRefreshString
German implementation of RefreshString.
EnRefreshString
English implementation of RefreshString.
EsRefreshString
Spanish implementation of RefreshString.
FrRefreshString
French implementation of RefreshString.
IndicatorThemeData
Fully resolved visual values consumed by indicator widgets.
IOS17ActivityIndicator
A reusable iOS 17 style activity indicator.
iOS17Header
A Cupertino-inspired pull-to-refresh header matching iOS 17 styling.
iOS17HeaderState
State for iOS17Header.
ItRefreshString
Italian implementation of RefreshString.
JpRefreshString
Japanese implementation of RefreshString.
KrRefreshString
Korean implementation of RefreshString.
LinkFooter
A footer that links to another footer placed outside the viewport.
LinkHeader
A header that links to another header placed outside the viewport.
LoadIndicator
An abstract widget that implements the pull-up loading effect.
LoadIndicatorState<T extends LoadIndicator>
The state for a LoadIndicator.
Material3Header
A Material 3 pull-to-refresh header that follows the 2024 circular indicator style.
Material3HeaderState
The state for Material3Header.
MaterialClassicHeader
A refresh header that uses Flutter's material RefreshProgressIndicator.
NlRefreshString
Dutch implementation of RefreshString.
PtRefreshString
Portuguese implementation of RefreshString.
RefreshConfiguration
A global configuration widget for SmartRefresher widgets in its subtree.
RefreshController
A controller that manages the state of the header and footer indicators.
RefreshIndicator
An abstract widget that implements the pull-to-refresh effect.
RefreshIndicatorState<T extends RefreshIndicator>
The state for a RefreshIndicator.
RefreshLocalizations
Implementation of localized strings for ClassicHeader, ClassicFooter, and TwoLevelHeader.
RefreshLocalizationsDelegate
A delegate for RefreshLocalizations that can be used in MaterialApp.localizationsDelegates.
RefreshNotifier<T>
A value notifier that manages refresh states.
RefreshPhysics
A ScrollPhysics that enables refresh effects by allowing the viewport to overscroll.
RefreshString
An interface for providing localized strings for refresh indicators.
RuRefreshString
Russian implementation of RefreshString.
Shimmer
Hosts a shared animated gradient for descendant ShimmerLoading widgets.
ShimmerLoading
Applies the ancestor Shimmer gradient to the painted pixels of child.
ShimmerState
State for Shimmer.
SkeletonBone
A rounded rectangular placeholder block used to compose skeleton layouts.
SkeletonFooter
A load-more footer that renders shimmering skeleton rows instead of a spinner.
SkeletonFooterState
State for SkeletonFooter.
SmartRefresher
The primary widget providing pull-to-refresh and pull-up loading functionality.
SmartRefresherState
The state for a SmartRefresher.
SmartRefresherTheme
An inherited theme that provides subtree overrides for smart_refresher.
SmartRefresherThemeData
Theme tokens shared by smart_refresher indicators.
SvRefreshString
Swedish implementation of RefreshString.
TwoLevelHeader
A refresh header that facilitates the implementation of a "two-level" refresh effect.
UkRefreshString
Ukrainian implementation of RefreshString.
WaterDropHeader
A refresh header that provides a waterdrop effect, similar to the one used in the iOS QQ app.
WaterDropMaterialHeader
A refresh header that adds a waterdrop effect to MaterialClassicHeader.

Enums

BezierCircleType
The type of circle animation in the bezier circle header.
BezierDismissType
The type of dismissal animation for the bezier header.
IconPosition
The direction that the icon should be placed relative to the text.
LoadStatus
The current status of the loading footer.
LoadStyle
The display style of the loading footer indicator.
RefreshStatus
The current status of the refresh header.
RefreshStyle
The display style of the refresh header indicator.
SkeletonBoneStyle
The preset skeleton layouts available out of the box.
TwoLevelDisplayAlignment
Alignment for displaying content within the two-level header.

Mixins

IndicatorStateMixin<T extends StatefulWidget, V>
A mixin that manages the scroll position and refresh mode for header and footer indicators.
LoadingProcessor
A mixin that provides the exposure interface for loading footer indicators.
RefreshProcessor
A mixin that provides the exposure interface for refresh header indicators.

Constants

kIOS17HeaderAlphaValues → const List<int>
The alpha values used by the iOS 17 spinner's comet tail.

Functions

debugIOS17HeaderLastUpdatedText({required DateTime updatedAt, DateTime? now, String builder(DateTime updatedAt)?}) String
Builds the completion timestamp text used by iOS17Header.
debugIOS17HeaderTickAlphas({required double progress, double rotationValue = 0.0, double gradientOpacity = 0.0}) List<int>
Returns the alpha for each tick for the current visual state.

Typedefs

FooterBuilder = Widget Function(BuildContext context, LoadStatus? mode)
Custom footer builder. The second parameter provides the current footer state.
HeaderBuilder = Widget Function(BuildContext context, RefreshStatus? mode)
Custom header builder. The second parameter provides the current header state.
IndicatorBuilder = Widget Function()
A builder for global default indicators.
ModeChangeCallBack<T> = void Function(T? mode)
A callback that provides the current mode change.
OffsetCallBack = void Function(double offset)
A callback that provides the current scroll offset.
OnTwoLevel = void Function(bool isOpen)
Callback triggered when the two-level mode is opened or closed.
OuterBuilder = Widget Function(Widget child)
A builder that wraps the indicator's child, typically used for adding background colors or padding.
RefresherBuilder = Widget Function(BuildContext context, RefreshPhysics physics)
A builder for attaching refresh functionality with custom physics.
ShouldFollowContent = bool Function(LoadStatus? status)
Determines whether the footer should follow the content when the viewport is not full.
VoidFutureCallBack = Future<void> Function()
A callback that returns a Future with no value.