unstyledAnchoredDraggable

fun <T> Modifier.unstyledAnchoredDraggable(state: UnstyledAnchoredDraggableState<T>, reverseDirection: Boolean, orientation: Orientation, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null, startDragImmediately: Boolean = state.isAnimationRunning): Modifier

Enable drag gestures between a set of predefined values.

When a drag is detected, the offset of the UnstyledAnchoredDraggableState will be updated with the drag delta. You should use this offset to move your content accordingly (see Modifier.offset). When the drag ends, the offset will be animated to one of the anchors and when that anchor is reached, the value of the UnstyledAnchoredDraggableState will also be updated to the value corresponding to the new anchor.

Dragging is constrained between the minimum and maximum anchors.

Parameters

state
reverseDirection

Whether to reverse the direction of the drag, so a top to bottom drag will behave like bottom to top, and a left to right drag will behave like right to left. If not specified, this will be determined based on orientation and LocalLayoutDirection.

orientation

The orientation in which the unstyledAnchoredDraggable can be dragged.

enabled

Whether this unstyledAnchoredDraggable is enabled and should react to the user's input.

interactionSource

Optional MutableInteractionSource that will passed on to the internal Modifier.draggable.

overscrollEffect

optional effect to dispatch any excess delta or velocity to. The excess delta or velocity are a result of dragging/flinging and reaching the bounds. If you provide an overscrollEffect, make sure to apply androidx.compose.foundation.overscroll to render the effect as well.

startDragImmediately

when set to false, draggable will start dragging only when the gesture crosses the touchSlop. This is useful to prevent users from "catching" an animating widget when pressing on it. See draggable to learn more about startDragImmediately.