Compose Unstyled 2.0 is out! Check the official announcement blog ->
Class

RevealState

A class to keep track of the state of the composable.

Source set: Android
public class RevealState @RememberInComposition constructor(initialValue: RevealValue)

A class to keep track of the state of the composable. It can be used to customise the behavior and state of the composable.

Parameters

initialValue The initial value of this state.

Properties

currentValue

Source set: Android
public val currentValue: RevealValue

The current RevealValue based on the status of the component.

targetValue

Source set: Android
public val targetValue: RevealValue

The target RevealValue based on the status of the component. This will be equal to the currentValue if there is no animation running or swiping has stopped. Otherwise, this returns the next RevealValue based on the animation/swipe direction.

isAnimationRunning

Source set: Android
public val isAnimationRunning: Boolean

Returns whether the animation is running or not.

offset

Source set: Android
public val offset: Float

The current amount by which the revealable content has been revealed.

Functions

snapTo

public suspend fun snapTo(targetValue: RevealValue)

Snaps to the targetValue without any animation (if a previous item was already revealed, that item will be reset to the covered state with animation).

Parameters

targetValue The target RevealValue where the currentValue will be changed to.

animateTo

public suspend fun animateTo(targetValue: RevealValue)

Animates to the targetValue with the animation spec provided.

Parameters

targetValue The target RevealValue where the currentValue will animate to.

dispatchRawDelta

public fun dispatchRawDelta(delta: Float): Float

Drag by the supplied delta, coerce it in the swipe bounds and return the remaining available. These bounds are determined by the screen width and the configured RevealDirection.

Parameters

delta The delta (positive or negative) to drag

Returns

The consumed delta

offsetOf

public fun offsetOf(revealValue: RevealValue): Float

Get the offset position for an associated RevealValue

Parameters

revealValue The value to look up

Returns

The offset of the revealValue, or Float.NaN if the revealValue does not exist or not supported by current SwipeToReveal and RevealState instance

drag

public suspend fun drag(
        dragPriority: MutatePriority = MutatePriority.Default,
        block: suspend SwipeToRevealDragScope.() -> Unit,
    )

Call this function to take control of the drag logic and mutate the offset.

All actions that change the offset of this RevealState must be performed within a drag block (even if they don't call any other methods on this object) in order to guarantee that mutual exclusion is enforced. The offset provided to SwipeToRevealDragScope.dragTo will be coerced to the interval of the min/max offset values of RevealValue.

If drag is called from elsewhere with the dragPriority higher or equal to ongoing drag, the ongoing drag will be cancelled.

If layout dimensions change while the block is being executed, it will be cancelled and re-executed.

Parameters

dragPriority of the drag operation
block The suspending block where the drag mutations are performed

Last updated: