SwipeToReveal

Composable Function

Android

Deprecated The SwipeToReveal component from the latest material library should be used instead. This will be removed in a future release of this library.

@ExperimentalWearFoundationApi
@Composable
public fun SwipeToReveal(
    primaryAction: @Composable () -> Unit,
    modifier: Modifier = Modifier,
    onFullSwipe: () -> Unit = {},
    state: RevealState = rememberRevealState(),
    secondaryAction: (@Composable () -> Unit)? = null,
    undoAction: (@Composable () -> Unit)? = null,
    gestureInclusion: GestureInclusion = SwipeToRevealDefaults.gestureInclusion(state = state),
    content: @Composable () -> Unit,
)

A composable that can be used to add extra actions to a composable (up to two) which will be revealed when the original composable is swiped to the left. This composable requires a primary swipe/click action, a secondary optional click action can also be provided.

When the composable reaches the state where all the actions are revealed and the swipe continues beyond the positional threshold defined in RevealState, the primary action is automatically triggered.

An optional undo action can also be added. This undo action will be visible to users once the RevealValue becomes RevealValue.RightRevealed.

It is strongly recommended to have icons represent the actions and maybe a text and icon for the undo action.

Example of SwipeToReveal with primary action and undo action

Example of SwipeToReveal using RevealState to delay the appearance of primary action text

Example of SwipeToReveal used with Expandables

Parameters

primaryActionThe primary action that will be triggered in the event of a completed swipe. We also strongly recommend to trigger the action when it is clicked.
modifierOptional Modifier for this component.
onFullSwipeAn optional lambda which will be triggered when a full swipe from either of the anchors is performed.
stateThe RevealState of this component. It can be used to customise the anchors and threshold config of the swipeable modifier which is applied.
secondaryActionAn optional action that can be added to the component. We strongly recommend triggering the action when it is clicked.
undoActionThe optional undo action that will be applied to the component once the the RevealState.currentValue becomes RevealValue.RightRevealed.
gestureInclusionProvides fine-grained control so that touch gestures can be excluded when they start in a certain region. An instance of GestureInclusion can be passed in here which will determine via GestureInclusion.ignoreGestureStart whether the gesture should proceed or not. By default, gestureInclusion allows gestures everywhere except a zone on the left edge, which is used for swipe-to-dismiss (see SwipeToRevealDefaults.gestureInclusion).
contentThe content that will be initially displayed over the other actions provided. Custom accessibility actions should always be added to the content using Modifier.semantics - examples are shown in the code samples.