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.new({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, 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.