CircularWavyProgressIndicator

@Composable
fun CircularWavyProgressIndicator(progress: () -> Float, modifier: Modifier = Modifier, color: Color = WavyProgressIndicatorDefaults.indicatorColor, trackColor: Color = WavyProgressIndicatorDefaults.trackColor, stroke: Stroke = WavyProgressIndicatorDefaults.circularIndicatorStroke, trackStroke: Stroke = WavyProgressIndicatorDefaults.circularTrackStroke, gapSize: Dp = WavyProgressIndicatorDefaults.CircularIndicatorTrackGapSize, amplitude: (progress: Float) -> Float = WavyProgressIndicatorDefaults.indicatorAmplitude, wavelength: Dp = WavyProgressIndicatorDefaults.CircularWavelength, waveSpeed: Dp = wavelength)

Material Design determinate circular progress indicator

Progress indicators express an unspecified wait time or display the duration of a process.

Circular wavy progress indicator
image

By default there is no animation between progress values. You can use ProgressIndicatorDefaults.ProgressAnimationSpec as the default recommended AnimationSpec when animating progress, such as in the following example:

Parameters

progress

the progress of this progress indicator, where 0.0 represents no progress and 1.0 represents full progress. Values outside of this range are coerced into the range.

modifier

the Modifier to be applied to this progress indicator

color

the progress indicator color

trackColor

the indicator's track color, visible when the progress has not reached the area of the overall indicator yet

stroke

a Stroke that will be used to draw this indicator

trackStroke

a Stroke that will be used to draw the indicator's track

gapSize

the gap between the track and the progress parts of the indicator

amplitude

a lambda that provides an amplitude for the wave path as a function of the indicator's progress. 0.0 represents no amplitude, and 1.0 represents a max amplitude. Values outside of this range are coerced into the range.

wavelength

the length of a wave in this circular indicator. Note that the actual wavelength may be different to ensure a continuous wave shape.

waveSpeed

the speed in which the wave will move when the amplitude is greater than zero. The value here represents a DP per seconds, and by default it's matched to the wavelength to render an animation that moves the wave by one wave length per second. Note that the actual speed may be slightly different, as the wavelength can be adjusted to ensure a continuous wave shape.

Samples

androidx.compose.material3.samples.CircularWavyProgressIndicatorSampleandroidx.compose.material3.samples.CircularThickWavyProgressIndicatorSample
@Composable
fun CircularWavyProgressIndicator(modifier: Modifier = Modifier, color: Color = WavyProgressIndicatorDefaults.indicatorColor, trackColor: Color = WavyProgressIndicatorDefaults.trackColor, stroke: Stroke = WavyProgressIndicatorDefaults.circularIndicatorStroke, trackStroke: Stroke = WavyProgressIndicatorDefaults.circularTrackStroke, gapSize: Dp = WavyProgressIndicatorDefaults.CircularIndicatorTrackGapSize, @FloatRange(from = 0.0, to = 1.0) amplitude: Float = 1.0f, wavelength: Dp = WavyProgressIndicatorDefaults.CircularWavelength, waveSpeed: Dp = wavelength)

Material Design indeterminate circular progress indicator

Progress indicators express an unspecified wait time or display the duration of a process.

Indeterminate circular wavy progress indicator
image

Parameters

modifier

the Modifier to be applied to this progress indicator

color

the progress indicator color

trackColor

the indicator's track color, visible when the progress has not reached the area of the overall indicator yet

stroke

a Stroke that will be used to draw this indicator

trackStroke

a Stroke that will be used to draw the indicator's track

gapSize

the gap between the track and the progress parts of the indicator

amplitude

the wave's amplitude. 0.0 represents no amplitude, and 1.0 represents an amplitude that will take the full height of the progress indicator. Values outside of this range are coerced into the range.

wavelength

the length of a wave in this circular indicator. Note that the actual wavelength may be different to ensure a continuous wave shape.

waveSpeed

the speed in which the wave will move when the amplitude is greater than zero. The value here represents a DP per seconds, and by default it's matched to the wavelength to render an animation that moves the wave by one wave length per second. Note that the actual speed may be slightly different, as the wavelength can be adjusted to ensure a continuous wave shape.

Samples

androidx.compose.material3.samples.IndeterminateCircularWavyProgressIndicatorSample