CircularProgressIndicator class
A Material Design circular progress indicator, which spins to indicate that the application is busy.
A widget that shows progress along a circle. There are two kinds of circular progress indicators:
- Determinate. Determinate progress indicators have a specific value at each point in time, and the value should increase monotonically from 0.0 to 1.0, at which time the indicator is complete. To create a determinate progress indicator, use a non-null value between 0.0 and 1.0.
- Indeterminate. Indeterminate progress indicators do not have a specific value at each point in time and instead indicate that progress is being made without indicating how much progress remains. To create an indeterminate progress indicator, use a null value.
The indicator arc is displayed with valueColor, an animated value. To specify a constant color use: AlwaysStoppedAnimation<Color>(color)
.
This example showcases determinate and indeterminate CircularProgressIndicators. The CircularProgressIndicators will use the
when setting the CircularProgressIndicator.year2023 flag to false.
link To create a local project with this code sample, run:
flutter create --sample=material.CircularProgressIndicator.1 mysample
This sample shows the creation of a CircularProgressIndicator with a changing value. When toggling the switch, CircularProgressIndicator uses a determinate value. As described in: https://m3.material.io/components/progress-indicators/overview
link To create a local project with this code sample, run:
flutter create --sample=material.CircularProgressIndicator.2 mysample
See also:
- LinearProgressIndicator, which displays progress along a line.
- RefreshIndicator, which automatically displays a CircularProgressIndicator when the underlying vertical scrollable is overscrolled.
- material.io/design/components/progress-indicators.html#circular-progress-indicators
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- ProgressIndicator
- CircularProgressIndicator
- Implementers
Constructors
- CircularProgressIndicator({Key? key, double? value, Color? backgroundColor, Color? color, Animation<
Color?> ? valueColor, double? strokeWidth, double? strokeAlign, String? semanticsLabel, String? semanticsValue, StrokeCap? strokeCap, BoxConstraints? constraints, double? trackGap, @Deprecated('Set this flag to false to opt into the 2024 progress indicator appearance. Defaults to true. ' 'In the future, this flag will default to false. Use ProgressIndicatorThemeData to customize individual properties. ' 'This feature was deprecated after v3.27.0-0.1.pre.') bool? year2023, EdgeInsetsGeometry? padding}) - Creates a circular progress indicator. const
- CircularProgressIndicator.adaptive({Key? key, double? value, Color? backgroundColor, Animation<
Color?> ? valueColor, double? strokeWidth = 4.0, String? semanticsLabel, String? semanticsValue, StrokeCap? strokeCap, double? strokeAlign, BoxConstraints? constraints, double? trackGap, @Deprecated('Set this flag to false to opt into the 2024 progress indicator appearance. Defaults to true. ' 'In the future, this flag will default to false. Use ProgressIndicatorThemeData to customize individual properties. ' 'This feature was deprecated after v3.27.0-0.2.pre.') bool? year2023, EdgeInsetsGeometry? padding}) - Creates an adaptive progress indicator that is a CupertinoActivityIndicator on TargetPlatform.iOS & TargetPlatform.macOS and a CircularProgressIndicator in material theme/non-Apple platforms. const
Properties
- backgroundColor → Color?
- Color of the circular track being filled by the circular indicator. no setteroverride
- color → Color?
- The progress indicator's color. finalinherited
- constraints → BoxConstraints?
- Defines minimum and maximum sizes for a CircularProgressIndicator. final
- hashCode → int
- The hash code for this object. no setterinherited
- key → Key?
- Controls how one widget replaces another widget in the tree. finalinherited
- padding → EdgeInsetsGeometry?
- The padding around the indicator track. final
- runtimeType → Type
- A representation of the runtime type of the object. no setterinherited
- semanticsLabel → String?
- The SemanticsProperties.label for this progress indicator. finalinherited
- semanticsValue → String?
- The SemanticsProperties.value for this progress indicator. finalinherited
- strokeAlign → double?
- The relative position of the stroke on a CircularProgressIndicator. final
- strokeCap → StrokeCap?
- The progress indicator's line ending. final
- strokeWidth → double?
- The width of the line used to draw the circle. final
- trackGap → double?
- The gap between the active indicator and the background track. final
- value → double?
- If non-null, the value of this progress indicator. finalinherited
- valueColor → Animation<
Color?> ? - The progress indicator's color as an animated value. finalinherited
- year2023 → bool?
- When true, the CircularProgressIndicator will use the 2023 Material Design 3 appearance. final
Methods
- createElement(
) → StatefulElement - Creates a StatefulElement to manage this widget's location in the tree. inherited
- createState(
) → State< CircularProgressIndicator> - 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
Constants
- strokeAlignCenter → const double
- The indicator stroke is drawn on the center of the indicator path, with half of the strokeWidth on the inside, and the other half on the outside of the path.
- strokeAlignInside → const double
- The indicator stroke is drawn fully inside of the indicator path.
- strokeAlignOutside → const double
- The indicator stroke is drawn on the outside of the indicator path.