LinearProgressIndicator class

A Material Design linear progress indicator, also known as a progress bar.

A widget that shows progress along a line. There are two kinds of linear 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 line is displayed with valueColor, an animated value. To specify a constant color value use: AlwaysStoppedAnimation<Color>(color).

The minimum height of the indicator can be specified using minHeight. The indicator can be made taller by wrapping the widget with a SizedBox.

This example showcases determinate and indeterminate LinearProgressIndicators. The LinearProgressIndicators will use the updated Material 3 Design appearance when setting the LinearProgressIndicator.year2023 flag to false.
link

To create a local project with this code sample, run:
flutter create --sample=material.LinearProgressIndicator.1 mysample

This sample shows the creation of a LinearProgressIndicator with a changing value. When toggling the switch, LinearProgressIndicator 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.LinearProgressIndicator.2 mysample

See also:

Inheritance

Constructors

LinearProgressIndicator.new({Key? key, double? value, Color? backgroundColor, Color? color, Animation<Color?>? valueColor, double? minHeight, String? semanticsLabel, String? semanticsValue, BorderRadiusGeometry? borderRadius, Color? stopIndicatorColor, double? stopIndicatorRadius, 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.26.0-0.1.pre.') bool? year2023})
Creates a linear progress indicator.
const

Properties

backgroundColor → Color?
Color of the track being filled by the linear indicator.
no setteroverride
borderRadius → BorderRadiusGeometry?
The border radius of both the indicator and the track.
final
color → Color?
The progress indicator's color.
finalinherited
hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
minHeight → double?
The minimum height of the line used to draw the linear indicator.
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
stopIndicatorColor → Color?
The color of the stop indicator.
final
stopIndicatorRadius → double?
The radius of the stop indicator.
final
trackGap → double?
The gap between the indicator and the 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 LinearProgressIndicator 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<LinearProgressIndicator>
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