This package provides a refresh indicator widget that is far more flexible and native-like than the default Flutter one, built on top of flutter_appbar.
The gif image below may appear distorted and choppy due to compression.
The following explains the basic usage of this package.
import 'package:flutter/material.dart' hide RefreshIndicator;
// Other Alias: PullToRefresh and SwipeToRefresh
RefreshIndicator(
onRefresh: ..., // AsyncCallback
child: ...
),
This widget for ClampingScrollPhysics.
ClampingRefreshIndicator(
onRefresh: ..., // AsyncCallback
child: ...
),
This widget for BouncingScrollPhysics.
BouncingRefreshIndicator(
onRefresh: ..., // AsyncCallback
child: ...
),
This is the traditional way to define themes in Flutter.
MaterialApp(
theme: ThemeData(
progressIndicatorTheme: ProgressIndicatorThemeData(
color: ..., // foregroundColor
refreshBackgroundColor: ... // backgroundColor
)
),
);
PrimaryRefreshIndicator defines the style of its descendant related refresh indicator widgets, similar to how PrimaryScrollController defines the controller for its descendant widgets.
PrimaryRefreshIndicator(
clamping: RefreshIndicatorStyle(...),
bouncing: RefreshIndicatorStyle(...)
)