---
title: "RemoteStepper"
description: "[RemoteStepper] allows users to make a selection from a range of values."
type: "composable"
lastmod: "2026-09-24"
---
## API Reference

### RemoteStepper

> Source set: Android

```kotlin
@Composable
public fun RemoteStepper(
    value: RemoteFloat,
    steps: Int = 0,
    decreaseIcon: @Composable @RemoteComposable () -> Unit = {
        RemoteStepperDefaults.DecreaseIcon()
    },
    increaseIcon: @Composable @RemoteComposable () -> Unit = {
        RemoteStepperDefaults.IncreaseIcon()
    },
    modifier: RemoteModifier = RemoteModifier,
    decreaseAction: Action = Action.Empty,
    increaseAction: Action = Action.Empty,
    enabled: RemoteBoolean = true.rb,
    valueRange: ClosedFloatingPointRange<Float> = 0f..(steps + 1).toFloat(),
    colors: RemoteStepperColors = RemoteStepperDefaults.stepperColors(),
    content: @Composable @RemoteComposable () -> Unit,
)
```

[RemoteStepper](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteStepper/api) allows users to make a selection from a range of values. It's a full-screen
control with increase and decrease buttons, and a slot in the middle for value or other content.

#### Parameters

| | |
| --- | --- |
| value | Current value of the Stepper. |
| steps | The number of steps between the min and max value of the `valueRange`. |
| decreaseIcon | A slot for an icon which is placed on the decrease (bottom) button. |
| increaseIcon | A slot for an icon which is placed on the increase (top) button. |
| modifier | Modifiers to be applied to the Stepper. |
| decreaseAction | Action to perform when the decrease button is clicked. |
| increaseAction | Action to perform when the increase button is clicked. |
| enabled | Controls the enabled state of the Stepper. Note that only constant values are currently supported for [enabled](/jetpack-compose/androidx.compose.remote/remote-creation-compose/properties/enabled) for click handling. |
| valueRange | The range of values that this stepper can take. |
| colors | `RemoteStepperColors` that will be used to resolve the colors used for this [RemoteStepper](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteStepper). |
| content | Slot for [RemoteStepper](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteStepper) content, typically a text or button displaying the current value. |

### RemoteStepper

> Source set: Android

```kotlin
@Composable
public fun RemoteStepper(
    value: RemoteInt,
    steps: Int = 0,
    decreaseIcon: @Composable @RemoteComposable () -> Unit = {
        RemoteStepperDefaults.DecreaseIcon()
    },
    increaseIcon: @Composable @RemoteComposable () -> Unit = {
        RemoteStepperDefaults.IncreaseIcon()
    },
    modifier: RemoteModifier = RemoteModifier,
    decreaseAction: Action = Action.Empty,
    increaseAction: Action = Action.Empty,
    enabled: RemoteBoolean = true.rb,
    valueRange: ClosedFloatingPointRange<Float> = 0f..(steps + 1).toFloat(),
    colors: RemoteStepperColors = RemoteStepperDefaults.stepperColors(),
    content: @Composable @RemoteComposable () -> Unit,
): Unit
```

[RemoteStepper](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteStepper/api) allows users to make a selection from a range of values. It's a full-screen
control with increase and decrease buttons, and a slot in the middle for value or other content.

#### Parameters

| | |
| --- | --- |
| value | Current value of the Stepper. |
| steps | The number of steps between the min and max value of the `valueRange`. |
| decreaseIcon | A slot for an icon which is placed on the decrease (bottom) button. |
| increaseIcon | A slot for an icon which is placed on the increase (top) button. |
| modifier | Modifiers to be applied to the Stepper. |
| decreaseAction | Action to perform when the decrease button is clicked. |
| increaseAction | Action to perform when the increase button is clicked. |
| enabled | Controls the enabled state of the Stepper. Note that only constant values are currently supported for [enabled](/jetpack-compose/androidx.compose.remote/remote-creation-compose/properties/enabled) for click handling. |
| valueRange | The range of values that this stepper can take. |
| colors | `RemoteStepperColors` that will be used to resolve the colors used for this [RemoteStepper](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteStepper). |
| content | Slot for [RemoteStepper](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteStepper) content, typically a text or button displaying the current value. |

## Code Examples

### RemoteStepperSample

```kotlin
@Sampled
@Composable
@WearPreviewDevices
@PreviewWrapper(RemoteComponentPreviewWrapper::class)
fun RemoteStepperSample(modifier: RemoteModifier = RemoteModifier) {
    val value = rememberMutableRemoteFloat(2f)
    RemoteStepper(
        value = value,
        steps = 4,
        decreaseAction = valueChange(value, max(value - 1f.rf, 0f.rf)),
        increaseAction = valueChange(value, min(value + 1f.rf, 5f.rf)),
        modifier = modifier,
    ) {
        RemoteText(value.toRemoteInt().toRemoteString())
    }
}
```

### RemoteStepperIntegerSample

```kotlin
@Sampled
@Composable
@WearPreviewDevices
@PreviewWrapper(RemoteComponentPreviewWrapper::class)
fun RemoteStepperIntegerSample(modifier: RemoteModifier = RemoteModifier) {
    val value = rememberMutableRemoteInt(2)
    RemoteStepper(
        value = value,
        steps = 4,
        decreaseAction = valueChange(value, max(value - 1.ri, 0.ri)),
        increaseAction = valueChange(value, min(value + 1.ri, 5.ri)),
        modifier = modifier,
    ) {
        RemoteText(value.toRemoteString())
    }
}
```
