# DismissState

Artifact: [androidx.compose.material:material](https://developer.android.com/jetpack/androidx/releases/compose-material) [View Source](https://cs.android.com/search?q=file:androidx/compose/material/SwipeToDismiss.kt+class:androidx.compose.material.DismissState) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material#1.0.0) Common/AllAndroid/JVM
- Cmn

  ```
  @ExperimentalMaterialApi
  class DismissState : SwipeableState<DismissValue>
  ```

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.compose.material.SwipeableState](https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState)\<[DismissValue](https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue)\> ||
|   | ↳ | [androidx.compose.material.DismissState](https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState) |

*** ** * ** ***

State of the `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeToDismiss.composable#SwipeToDismiss(androidx.compose.material.DismissState,androidx.compose.ui.Modifier,kotlin.collections.Set,kotlin.Function1,kotlin.Function1,kotlin.Function1)` composable.

## Summary

| ### Public companion functions |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/Saver<https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState, https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue>` | `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#Saver(kotlin.Function1)(confirmStateChange: (https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` The default `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#Saver(kotlin.Function1)` implementation for `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState`. | Cmn |

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#DismissState(androidx.compose.material.DismissValue,kotlin.Function1)( initialValue: https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue, confirmStateChange: (https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` | Cmn |

| ### Public functions |
|---|---|---|
| `suspend https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#dismiss(androidx.compose.material.DismissDirection)(direction: https://developer.android.com/reference/kotlin/androidx/compose/material/DismissDirection)` Dismiss the component in the given `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#dismiss(androidx.compose.material.DismissDirection)`, with an animation and suspend. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#isDismissed(androidx.compose.material.DismissDirection)(direction: https://developer.android.com/reference/kotlin/androidx/compose/material/DismissDirection)` Whether the component has been dismissed in the given `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#isDismissed(androidx.compose.material.DismissDirection)`. | Cmn |
| `suspend https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#reset()()` Reset the component to the default position with animation and suspend until it if fully reset or animation has been cancelled. | Cmn |

| ### Public properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissDirection?` | `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#dismissDirection()` The direction (if any) in which the composable has been or is being dismissed. | Cmn |

### Inherited functions

From [androidx.compose.material.SwipeableState](https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState) `suspend https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/compose/material/ExperimentalMaterialApi
https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#animateTo(kotlin.Any,androidx.compose.animation.core.AnimationSpec)(targetValue: https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue, anim: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>)`

Set the state to the target value by starting an animation.
Cmn `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#performDrag(kotlin.Float)(delta: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`

Force `https://developer.android.com/reference/kotlin/androidx/compose/material/swipeable.modifier#(androidx.compose.ui.Modifier).swipeable(androidx.compose.material.SwipeableState,kotlin.collections.Map,androidx.compose.foundation.gestures.Orientation,kotlin.Boolean,kotlin.Boolean,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function2,androidx.compose.material.ResistanceConfig,androidx.compose.ui.unit.Dp)` to consume drag delta provided from outside of the regular `https://developer.android.com/reference/kotlin/androidx/compose/material/swipeable.modifier#(androidx.compose.ui.Modifier).swipeable(androidx.compose.material.SwipeableState,kotlin.collections.Map,androidx.compose.foundation.gestures.Orientation,kotlin.Boolean,kotlin.Boolean,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function2,androidx.compose.material.ResistanceConfig,androidx.compose.ui.unit.Dp)` gesture flow.
Cmn `suspend https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#performFling(kotlin.Float)(velocity: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`

Perform fling with settling to one of the anchors which is determined by the given `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#performFling(kotlin.Float)`.
Cmn `suspend https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/compose/material/ExperimentalMaterialApi
https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#snapTo(kotlin.Any)(targetValue: https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue)`

Set the state without any animation and suspend until it's set
Cmn

### Inherited properties

From [androidx.compose.material.SwipeableState](https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState) `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue` `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#currentValue()`

The current value of the state.
Cmn `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` `@https://developer.android.com/reference/kotlin/androidx/compose/material/ExperimentalMaterialApi
https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#direction()`

The direction in which the `https://developer.android.com/reference/kotlin/androidx/compose/material/swipeable.modifier#(androidx.compose.ui.Modifier).swipeable(androidx.compose.material.SwipeableState,kotlin.collections.Map,androidx.compose.foundation.gestures.Orientation,kotlin.Boolean,kotlin.Boolean,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function2,androidx.compose.material.ResistanceConfig,androidx.compose.ui.unit.Dp)` is moving, relative to the current `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#currentValue()`.
Cmn `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#isAnimationRunning()`

Whether the state is currently animating.
Cmn `https://developer.android.com/reference/kotlin/androidx/compose/runtime/State<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>` `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#offset()`

The current position (in pixels) of the `https://developer.android.com/reference/kotlin/androidx/compose/material/swipeable.modifier#(androidx.compose.ui.Modifier).swipeable(androidx.compose.material.SwipeableState,kotlin.collections.Map,androidx.compose.foundation.gestures.Orientation,kotlin.Boolean,kotlin.Boolean,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function2,androidx.compose.material.ResistanceConfig,androidx.compose.ui.unit.Dp)`.
Cmn `https://developer.android.com/reference/kotlin/androidx/compose/runtime/State<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>` `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#overflow()`

The amount by which the `https://developer.android.com/reference/kotlin/androidx/compose/material/swipeable.modifier#(androidx.compose.ui.Modifier).swipeable(androidx.compose.material.SwipeableState,kotlin.collections.Map,androidx.compose.foundation.gestures.Orientation,kotlin.Boolean,kotlin.Boolean,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function2,androidx.compose.material.ResistanceConfig,androidx.compose.ui.unit.Dp)` has been swiped past its bounds.
Cmn `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeProgress<https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue>` `@https://developer.android.com/reference/kotlin/androidx/compose/material/ExperimentalMaterialApi
https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#progress()`

Information about the ongoing swipe or animation, if any.
Cmn `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue` `@https://developer.android.com/reference/kotlin/androidx/compose/material/ExperimentalMaterialApi
https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeableState#targetValue()`

The target value of the state.
Cmn

## Public companion functions

### Saver

Cmn Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material#1.0.0)

```
fun Saver(confirmStateChange: (DismissValue) -> Boolean): Saver<DismissState, DismissValue>
```

The default `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#Saver(kotlin.Function1)` implementation for `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState`.

## Public constructors

### DismissState

Cmn Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material#1.0.0)

```
DismissState(
    initialValue: DismissValue,
    confirmStateChange: (DismissValue) -> Boolean = { true }
)
```

| Parameters |
|---|---|
| `initialValue: https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue` | The initial value of the state. |
| `confirmStateChange: (https://developer.android.com/reference/kotlin/androidx/compose/material/DismissValue) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = { true }` | Optional callback invoked to confirm or veto a pending state change. |

## Public functions

### dismiss

Cmn Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material#1.0.0)

```
suspend fun dismiss(direction: DismissDirection): Unit
```

Dismiss the component in the given `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#dismiss(androidx.compose.material.DismissDirection)`, with an animation and suspend. This method will throw `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-cancellation-exception/index.html` if the animation is interrupted

| Parameters |
|---|---|
| `direction: https://developer.android.com/reference/kotlin/androidx/compose/material/DismissDirection` | The dismiss direction. |

### isDismissed

Cmn Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material#1.0.0)

```
fun isDismissed(direction: DismissDirection): Boolean
```

Whether the component has been dismissed in the given `https://developer.android.com/reference/kotlin/androidx/compose/material/DismissState#isDismissed(androidx.compose.material.DismissDirection)`.

| Parameters |
|---|---|
| `direction: https://developer.android.com/reference/kotlin/androidx/compose/material/DismissDirection` | The dismiss direction. |

### reset

Cmn Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material#1.0.0)

```
suspend fun reset(): Unit
```

Reset the component to the default position with animation and suspend until it if fully reset or animation has been cancelled. This method will throw `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-cancellation-exception/index.html` if the animation is interrupted

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the reason the reset animation ended |

## Public properties

### dismissDirection

Cmn Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material#1.0.0)

```
val dismissDirection: DismissDirection?
```

The direction (if any) in which the composable has been or is being dismissed.

If the composable is settled at the default state, then this will be null. Use this to change the background of the `https://developer.android.com/reference/kotlin/androidx/compose/material/SwipeToDismiss.composable#SwipeToDismiss(androidx.compose.material.DismissState,androidx.compose.ui.Modifier,kotlin.collections.Set,kotlin.Function1,kotlin.Function1,kotlin.Function1)` if you want different actions on each side.