---
title: "rememberSliderState"
description: "Creates a [SliderState] that is remembered across compositions.

Changes to the provided initial values will **not** result in the state being recreated or
changed in any way if it has already been created."
type: "composable"
---

<div class='type'>Composable Function</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
@Composable
fun rememberSliderState(
    value: Float = 0f,
    @IntRange(from = 0) steps: Int = 0,
    onValueChangeFinished: (() -> Unit)? = null,
    valueRange: ClosedFloatingPointRange<Float> = 0f..1f,
): SliderState
```


Creates a `SliderState` that is remembered across compositions.

Changes to the provided initial values will **not** result in the state being recreated or
changed in any way if it has already been created.

#### Parameters

| | |
| --- | --- |
| value | `Float` that indicates the initial position of the thumb. If outside of `valueRange` provided, value will be coerced to this range. |
| steps | if positive, specifies the amount of discrete allowable values between the endpoints of `valueRange`. For example, a range from 0 to 10 with 4 `steps` allows 4 values evenly distributed between 0 and 10 (i.e., 2, 4, 6, 8). If `steps` is 0, the slider will behave continuously and allow any value from the range. Must not be negative. |
| onValueChangeFinished | lambda to be invoked when value change has ended. This callback shouldn't be used to update the range slider values (use `SliderState.onValueChange` for that), but rather to know when the user has completed selecting a new value by ending a drag or a click. |
| valueRange | range of values that Slider values can take. `value` will be coerced to this range. |





