CupertinoSliverRefreshControl class

A sliver widget implementing the iOS-style pull to refresh content control.

When inserted as the first sliver in a scroll view or behind other slivers that still lets the scrollable overscroll in front of this sliver (such as the CupertinoSliverNavigationBar, this widget will:

The builder function will be informed of the current RefreshIndicatorMode when invoking it, except in the RefreshIndicatorMode.inactive state when no space is available and nothing needs to be built. The builder function will otherwise be continuously invoked as the amount of space available changes from overscroll, as the sliver scrolls away after the onRefresh task is done, etc.

Only one refresh can be triggered until the previous refresh has completed and the indicator sliver has retracted at least 90% of the way back.

Can only be used in downward-scrolling vertical lists that overscrolls. In other words, refreshes can't be triggered with lists using ClampingScrollPhysics.

In a typical application, this sliver should be inserted between the app bar sliver such as CupertinoSliverNavigationBar and your main scrollable content's sliver.

See also:

Inheritance

Constructors

CupertinoSliverRefreshControl({Key key, double refreshTriggerPullDistance: _defaultRefreshTriggerPullDistance, double refreshIndicatorExtent: _defaultRefreshIndicatorExtent, RefreshControlIndicatorBuilder builder: buildSimpleRefreshIndicator, RefreshCallback onRefresh })
Create a new refresh control for inserting into a list of slivers. [...]
const

Properties

builder RefreshControlIndicatorBuilder
A builder that's called as this sliver's size changes, and as the state changes. [...]
final
onRefresh RefreshCallback
Callback invoked when pulled by refreshTriggerPullDistance. [...]
final
refreshIndicatorExtent double
The amount of space the refresh indicator sliver will keep holding while onRefresh's Future is still running. [...]
final
refreshTriggerPullDistance double
The amount of overscroll the scrollable must be dragged to trigger a reload. [...]
final
hashCode int
The hash code for this object. [...]
read-only, inherited
key Key
Controls how one widget replaces another widget in the tree. [...]
final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

createState() → _CupertinoSliverRefreshControlState
Creates the mutable state for this widget at a given location in the tree. [...]
override
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree. [...]
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toDiagnosticsNode({String name, DiagnosticsTreeStyle style }) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by toStringDeep. [...]
inherited
toString({DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a string representation of this object.
inherited
toStringDeep({String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a string representation of this node and its descendants. [...]
inherited
toStringShallow({String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a one-line detailed description of the object. [...]
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited

Static Methods

buildSimpleRefreshIndicator(BuildContext context, RefreshIndicatorMode refreshState, double pulledExtent, double refreshTriggerPullDistance, double refreshIndicatorExtent) Widget
Builds a simple refresh indicator that fades in a bottom aligned down arrow before the refresh is triggered, a CupertinoActivityIndicator during the refresh and fades the CupertinoActivityIndicator away when the refresh is done.
state(BuildContext context) RefreshIndicatorMode
Retrieve the current state of the CupertinoSliverRefreshControl. The same as the state that gets passed into the builder function. Used for testing.
@visibleForTesting