AnchoredDraggableState

Function

Common

Deprecated ConfigurationMovedToModifier

fun <T> AnchoredDraggableState(
    initialValue: T,
    positionalThreshold: (totalDistance: Float) -> Float,
    velocityThreshold: () -> Float,
    snapAnimationSpec: AnimationSpec<Float>,
    decayAnimationSpec: DecayAnimationSpec<Float>,
    confirmValueChange: (newValue: T) -> Boolean = { true },
): AnchoredDraggableState<T>

State of the anchoredDraggable modifier. Use the constructor overload with anchors if the anchors are defined in composition, or update the anchors using AnchoredDraggableState.updateAnchors.

This contains necessary information about any ongoing drag or animation and provides methods to change the state either immediately or by starting an animation.

Parameters

initialValueThe initial value of the state.
positionalThresholdThe positional threshold, in px, to be used when calculating the target state while a drag is in progress and when settling after the drag ends. This is the distance from the start of a transition. It will be, depending on the direction of the interaction, added or subtracted from/to the origin offset. It should always be a positive value.
velocityThresholdThe velocity threshold (in px per second) that the end velocity has to exceed in order to animate to the next state, even if the positionalThreshold has not been reached.
confirmValueChangeOptional callback invoked to confirm or veto a pending state change.
Common

Deprecated ConfigurationMovedToModifier

fun <T> AnchoredDraggableState(
    initialValue: T,
    anchors: DraggableAnchors<T>,
    positionalThreshold: (totalDistance: Float) -> Float,
    velocityThreshold: () -> Float,
    snapAnimationSpec: AnimationSpec<Float>,
    decayAnimationSpec: DecayAnimationSpec<Float>,
    confirmValueChange: (newValue: T) -> Boolean = { true },
): AnchoredDraggableState<T>

Construct an AnchoredDraggableState instance with anchors.

Parameters

initialValueThe initial value of the state.
anchorsThe anchors of the state. Use AnchoredDraggableState.updateAnchors to update the anchors later.
snapAnimationSpecThe default animation spec that will be used to animate to a new state.
decayAnimationSpecThe animation spec that will be used when flinging with a large enough velocity to reach or cross the target state.
confirmValueChangeOptional callback invoked to confirm or veto a pending state change.
positionalThresholdThe positional threshold, in px, to be used when calculating the target state while a drag is in progress and when settling after the drag ends. This is the distance from the start of a transition. It will be, depending on the direction of the interaction, added or subtracted from/to the origin offset. It should always be a positive value.
velocityThresholdThe velocity threshold (in px per second) that the end velocity has to exceed in order to animate to the next state, even if the positionalThreshold has not been reached.