---
title: "RemoteIntroOutroCurvedProgressIndicator"
description: "A [RemoteCurvedProgressIndicator] that plays spring animations at the start and end of the progress, for example for a timer, or for a goal such as a distance, calories or steps."
type: "composable"
lastmod: "2026-10-21"
---
## API Reference

### RemoteIntroOutroCurvedProgressIndicator

> Source set: Android

```kotlin
@Composable
public fun RemoteIntroOutroCurvedProgressIndicator(
    progress: RemoteFloat,
    modifier: RemoteModifier = RemoteModifier,
    enabled: RemoteBoolean = true.rb,
    startAngle: RemoteFloat = RemoteProgressIndicatorDefaults.CurvedIndicatorStartAngle,
    sweepAngle: RemoteFloat = RemoteProgressIndicatorDefaults.CurvedIndicatorSweepAngle,
    colors: RemoteProgressIndicatorColors = RemoteProgressIndicatorDefaults.colors(),
    strokeWidth: RemoteDp = RemoteProgressIndicatorDefaults.CurvedIndicatorStrokeWidth,
    padding: RemoteDp = RemoteProgressIndicatorDefaults.CurvedIndicatorPadding,
    gapAngleDegrees: RemoteFloat = RemoteProgressIndicatorDefaults.CurvedIndicatorGapAngleDegrees,
    dotFadeOutFraction: RemoteFloat =
        RemoteProgressIndicatorDefaults.CurvedIndicatorDotFadeOutFraction,
    reverseDirection: RemoteBoolean = false.rb,
    countDown: RemoteBoolean = false.rb,
)
```

A [RemoteCurvedProgressIndicator](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteCurvedProgressIndicator/api) that plays spring animations at the start and end of the
progress, for example for a timer, or for a goal such as a distance, calories or steps.

The intro animation plays as soon as `progress` leaves its start, and the outro animation plays
once `progress` reaches its end, so it finishes shortly after the end. In between, the arc
follows `progress` exactly. Pass a progress that is clamped to its range, so that reaching the
end gives exactly its end value.

#### Parameters

| | |
| --- | --- |
| progress | A float value representing progress, from 0f to 1f. |
| modifier | Modifier to be applied to the canvas. |
| enabled | controls the enabled state. When enabled is `false`, this component will appear visually disabled. |
| startAngle | The starting position of the progress arc in degrees. For example, 135 is bottom left. |
| sweepAngle | The total sweep angle of the progress arc in degrees. For example, 90 degrees. |
| colors | [RemoteProgressIndicatorColors](/jetpack-compose/androidx.wear.compose.remote/remote-material3/classes/RemoteProgressIndicatorColors) that will be used to resolve the indicator and track color. |
| strokeWidth | Width of the arc in dp. |
| padding | Padding from the canvas/screen edge in dp. |
| gapAngleDegrees | Size of the visual separation gap between segments in degrees. Set to 0f for continuous bars. |
| dotFadeOutFraction | The fraction of the dot's size (from 0.0 to 1.0) below which the dot fades its opacity to transparent as it collapses/expands. Set to 0.0 to disable opacity fading and shrink purely through size. |
| reverseDirection | Whether to reverse the direction of the progress indicator (RTL). |
| countDown | Whether the progress goes from 1f down to 0f, for example the time or distance left. If true, the intro animation plays when progress leaves 1f, and the outro animation plays when progress reaches 0f. |
