GlassProgressIndicator class
A glass morphism progress indicator following Apple's iOS 26 Liquid Glass design patterns.
GlassProgressIndicator provides both circular and linear progress indicators with glass effect, matching iOS's ProgressView appearance with liquid glass aesthetics.
iOS 26 Specifications
This widget implements the exact iOS 26 Liquid Glass progress indicators:
- Circular: 20pt diameter (default), 2.5pt stroke width
- Linear: Full width, 4pt height (default)
- Animation: 1.0 second rotation for indeterminate
- Glass Effect: Translucent with specular highlights
- Tint Color: Adaptive based on theme (blue default)
Usage
Circular Indeterminate (Loading Spinner)
GlassProgressIndicator.circular()
Circular Determinate (Progress Ring)
GlassProgressIndicator.circular(
value: 0.7, // 70% complete
)
Linear Indeterminate (Loading Bar)
GlassProgressIndicator.linear()
Linear Determinate (Progress Bar)
GlassProgressIndicator.linear(
value: 0.5, // 50% complete
)
Custom Size and Color
GlassProgressIndicator.circular(
value: 0.3,
size: 40.0,
strokeWidth: 4.0,
color: Colors.green,
)
Standalone Mode
GlassProgressIndicator.circular(
useOwnLayer: true,
settings: LiquidGlassSettings(
thickness: 30,
blur: 12,
),
)
Within LiquidGlassLayer
AdaptiveLiquidGlassLayer(
settings: LiquidGlassSettings(
thickness: 30,
blur: 12,
),
child: Column(
children: [
GlassProgressIndicator.circular(),
SizedBox(height: 20),
GlassProgressIndicator.linear(value: 0.6),
],
),
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- GlassProgressIndicator
Constructors
- GlassProgressIndicator.circular({Key? key, double? value, double? size = 20.0, double? strokeWidth = 2.5, Color? color, Color? backgroundColor, bool useOwnLayer = false, LiquidGlassSettings? settings, GlassQuality? quality})
-
Creates a circular glass progress indicator.
const
- GlassProgressIndicator.linear({Key? key, double? value, double? height = 4.0, double? minWidth = 200.0, Color? color, Color? backgroundColor, bool useOwnLayer = false, LiquidGlassSettings? settings, GlassQuality? quality})
-
Creates a linear glass progress indicator.
const
Properties
- backgroundColor → Color?
-
The background color (track color).
final
- color → Color?
-
The color of the progress indicator.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- height → double?
-
Height of the linear progress indicator.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- minWidth → double?
-
Minimum width of the linear progress indicator.
final
- quality → GlassQuality?
-
Rendering quality for the glass effect.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- settings → LiquidGlassSettings?
-
Glass effect settings for standalone mode.
final
- size → double?
-
Size of the circular progress indicator (diameter).
final
- strokeWidth → double?
-
Stroke width of the circular progress indicator.
final
- useOwnLayer → bool
-
Whether to create its own AdaptiveLiquidGlassLayer.
final
- value → double?
-
The current progress value (0.0 to 1.0).
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< GlassProgressIndicator> -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent 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 DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → 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 ==(
Object other) → bool -
The equality operator.
inherited