SwipeToDismissBoxState

State of the SwipeToDismissBox composable.

Constructors

Link copied to clipboard
constructor(initialValue: SwipeToDismissBoxValue, positionalThreshold: (totalDistance: Float) -> Float)

State of the SwipeToDismissBox composable.

constructor(initialValue: SwipeToDismissBoxValue, density: Density, confirmValueChange: (SwipeToDismissBoxValue) -> Boolean = { true }, positionalThreshold: (totalDistance: Float) -> Float)

State of the SwipeToDismissBox composable.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

The current state value of the SwipeToDismissBoxState.

Link copied to clipboard

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

Link copied to clipboard
@get:FloatRange(from = 0.0, to = 1.0)
val progress: Float

The fraction of the progress going from currentValue to targetValue, within 0f..1f bounds.

Link copied to clipboard

The value the SwipeToDismissBoxState is currently settled at. When progressing through multiple anchors, e.g. A -> B -> C, settledValue will stay the same until settled at an anchor, while currentValue will update to the closest anchor.

Link copied to clipboard

The target state. This is the closest state to the current offset (taking into account positional thresholds). If no interactions like animations or drags are in progress, this will be the current state.

Functions

Link copied to clipboard
suspend fun dismiss(direction: SwipeToDismissBoxValue)

Dismiss the component in the given direction, with an animation and suspend. This method will throw CancellationException if the animation is interrupted

Link copied to clipboard

Require the current offset.

Link copied to clipboard
suspend fun reset()

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 CancellationException if the animation is interrupted

Link copied to clipboard
suspend fun snapTo(targetValue: SwipeToDismissBoxValue)

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