---
title: "SliderState"
description: "Class that holds information about [Slider]'s active range."
type: "class"
---

<div class='type'>Class</div>


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

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


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


Class that holds information about `Slider`'s active range.

#### 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 `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. |



## Properties

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


```kotlin
var value: Float
```


`Float` that indicates the value that the thumb currently is in respect to the track.



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


```kotlin
var onValueChange: ((Float) -> Unit)?
```


Callback in which value should be updated.



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


```kotlin
var shouldAutoSnap: Boolean
```


Controls the auto-snapping mechanism, disabling it may be useful for custom animations.



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


```kotlin
val coercedValueAsFraction: Float
```


The fraction of the track that the thumb currently is in.



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


```kotlin
var isDragging
```


## Companion Object

#### Methods

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


```kotlin
fun Saver(
            onValueChangeFinished: (() -> Unit)?,
            valueRange: ClosedFloatingPointRange<Float>,
        ): Saver<SliderState, *>
```


The default `Saver` implementation for `SliderState`.

#### Parameters

| | |
| --- | --- |
| onValueChangeFinished | lambda to be invoked when value change has ended. This callback shouldn't be used to update the range slider values (use `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. |






