---
title: "RemoteSegmentedCircularProgressIndicator"
description: "Material Design segmented circular progress indicator."
type: "composable"
lastmod: "2026-10-21"
---
## API Reference

### RemoteSegmentedCircularProgressIndicator

> Source set: Android

```kotlin
@Composable
public fun RemoteSegmentedCircularProgressIndicator(
    segmentCount: RemoteInt,
    progress: RemoteFloat,
    modifier: RemoteModifier = RemoteModifier,
    enabled: RemoteBoolean = true.rb,
    startAngle: RemoteFloat = RemoteProgressIndicatorDefaults.StartAngle,
    endAngle: RemoteFloat = startAngle,
    colors: RemoteProgressIndicatorColors = RemoteProgressIndicatorDefaults.colors(),
    strokeWidth: RemoteDp = RemoteProgressIndicatorDefaults.DefaultStrokeWidth,
    gapSize: RemoteDp = RemoteProgressIndicatorDefaults.calculateRecommendedGapSize(strokeWidth),
)
```

Material Design segmented circular progress indicator.

A segmented variant of [RemoteCircularProgressIndicator](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteCircularProgressIndicator/api) that is divided into equally sized
segments. This overload of [RemoteSegmentedCircularProgressIndicator](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteSegmentedCircularProgressIndicator/api) fills the segments in order
based on `progress`.

Example of [RemoteSegmentedCircularProgressIndicator](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteSegmentedCircularProgressIndicator/api) with progress value:

For an animated progress, see:

#### Parameters

| | |
| --- | --- |
| segmentCount | Number of equal segments that the progress indicator should be divided into. Has to be a constant [RemoteInt](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteInt) greater than or equal to 1. |
| progress | The progress of this progress indicator where 0.0 represents no progress and 1.0 represents completion. Values outside of this range are coerced into the range. |
| modifier | Modifier to be applied to the progress indicator. |
| enabled | Controls the enabled state. When enabled is `false`, this component will appear visually disabled. Note that the disabled colors are only applied when [enabled](/jetpack-compose/androidx.compose.remote/remote-creation-compose/properties/enabled) is a constant. |
| startAngle | The starting position of the progress arc, measured clockwise in degrees from the 3 o'clock position. Defaults to `RemoteProgressIndicatorDefaults.StartAngle` (top of the screen). |
| endAngle | The ending position of the progress arc, measured clockwise in degrees from the 3 o'clock position. By default equal to `startAngle`. |
| colors | [RemoteProgressIndicatorColors](/jetpack-compose/androidx.wear.compose.remote/remote-material3/classes/RemoteProgressIndicatorColors) that will be used to resolve the indicator and track color for this progress indicator. |
| strokeWidth | The stroke width for the progress indicator. Defaults to `RemoteProgressIndicatorDefaults.DefaultStrokeWidth`. |
| gapSize | The size of the gap between segments. The stroke endcaps are not included in this distance. |

### RemoteSegmentedCircularProgressIndicator

> Source set: Android

```kotlin
@Composable
public fun RemoteSegmentedCircularProgressIndicator(
    segmentCount: RemoteInt,
    segmentValue: (segmentIndex: Int) -> RemoteBoolean,
    modifier: RemoteModifier = RemoteModifier,
    enabled: RemoteBoolean = true.rb,
    startAngle: RemoteFloat = RemoteProgressIndicatorDefaults.StartAngle,
    endAngle: RemoteFloat = startAngle,
    colors: RemoteProgressIndicatorColors = RemoteProgressIndicatorDefaults.colors(),
    strokeWidth: RemoteDp = RemoteProgressIndicatorDefaults.DefaultStrokeWidth,
    gapSize: RemoteDp = RemoteProgressIndicatorDefaults.calculateRecommendedGapSize(strokeWidth),
)
```

Material Design segmented circular progress indicator.

A segmented variant of [RemoteCircularProgressIndicator](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteCircularProgressIndicator/api) that is divided into equally sized
segments. This overload of [RemoteSegmentedCircularProgressIndicator](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteSegmentedCircularProgressIndicator/api) allows for each segment to
be individually indicated as completed, such as for showing activity for intervals within a
longer period.

Example of [RemoteSegmentedCircularProgressIndicator](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteSegmentedCircularProgressIndicator/api) where the segments are turned on/off:

#### Parameters

| | |
| --- | --- |
| segmentCount | Number of equal segments that the progress indicator should be divided into. Has to be a constant [RemoteInt](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteInt) greater than or equal to 1. |
| segmentValue | A function that for each segment index between 0 and `segmentCount` - 1 returns a [RemoteBoolean](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteBoolean) that is true if this segment should be displayed with the indicator color to show progress, and false if the segment should be displayed with the track color. |
| modifier | Modifier to be applied to the progress indicator. |
| enabled | Controls the enabled state. When enabled is `false`, this component will appear visually disabled. Note that the disabled colors are only applied when [enabled](/jetpack-compose/androidx.compose.remote/remote-creation-compose/properties/enabled) is a constant. |
| startAngle | The starting position of the progress arc, measured clockwise in degrees from the 3 o'clock position. Defaults to `RemoteProgressIndicatorDefaults.StartAngle` (top of the screen). |
| endAngle | The ending position of the progress arc, measured clockwise in degrees from the 3 o'clock position. By default equal to `startAngle`. |
| colors | [RemoteProgressIndicatorColors](/jetpack-compose/androidx.wear.compose.remote/remote-material3/classes/RemoteProgressIndicatorColors) that will be used to resolve the indicator and track color for this progress indicator. |
| strokeWidth | The stroke width for the progress indicator. Defaults to `RemoteProgressIndicatorDefaults.DefaultStrokeWidth`. |
| gapSize | The size of the gap between segments. The stroke endcaps are not included in this distance. |

## Code Examples

### RemoteSegmentedCircularProgressIndicatorSample

```kotlin
@Sampled
@RemoteComposable
@Composable
@WearPreviewDevices
@PreviewWrapper(RemoteComponentPreviewWrapper::class)
public fun RemoteSegmentedCircularProgressIndicatorSample(
    modifier: RemoteModifier = RemoteModifier
) {
    RemoteSegmentedCircularProgressIndicator(
        segmentCount = 5.ri,
        progress = 0.5f.rf,
        modifier = modifier,
    )
}
```

### RemoteSegmentedCircularProgressIndicatorAnimatedSample

```kotlin
@Sampled
@RemoteComposable
@Composable
@WearPreviewDevices
@PreviewWrapper(RemoteComponentPreviewWrapper::class)
public fun RemoteSegmentedCircularProgressIndicatorAnimatedSample(
    modifier: RemoteModifier = RemoteModifier.size(150.rdp)
) {
    val progress = remember { MutableRemoteFloat { 0.2f.rf } }
    val animatedProgress =
        animateRemoteFloatAsState(
            targetValue = progress,
            animationSpec = remoteTween(durationMillis = 250),
        )

    val incrementAction = valueChange(progress, ((progress + 0.2f) % 1.2f).createReference())

    RemoteSegmentedCircularProgressIndicator(
        segmentCount = 5.ri,
        progress = animatedProgress,
        modifier = modifier.clickable(incrementAction),
    )
}
```

### RemoteSegmentedCircularProgressIndicatorBinarySample

```kotlin
@Sampled
@RemoteComposable
@Composable
@WearPreviewDevices
@PreviewWrapper(RemoteComponentPreviewWrapper::class)
public fun RemoteSegmentedCircularProgressIndicatorBinarySample(
    modifier: RemoteModifier = RemoteModifier
) {
    RemoteSegmentedCircularProgressIndicator(
        segmentCount = 5.ri,
        segmentValue = { segmentIndex -> (segmentIndex % 2 == 0).rb },
        modifier = modifier,
    )
}
```
