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

OneHandedGestureIndicator

A wrapper that replaces the content to indicate to the user that a gesture action is available.

OneHandedGestureButtonSample

@Composable
fun OneHandedGestureButtonSample() {
    var label by remember { mutableStateOf("Gesturable Button") }
    val onClick = remember { { label = "Clicked/Gestured" } }
    var gestureIndicatorVisible by remember { mutableStateOf(false) }
    val interactionSource = remember { MutableInteractionSource() }
    Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
        Button(
            onClick = onClick,
            interactionSource = interactionSource,
            modifier =
                Modifier.oneHandedGesture(
                    action = GestureAction.Primary,
                    interactionSource = interactionSource,
                    onShowIndicator = { gestureIndicatorVisible = true },
                    onGesture = onClick,
                ),
        ) {
            OneHandedGestureIndicator(
                gestureIndicatorVisible,
                { gestureIndicatorVisible = false },
            ) {
                Text(label)
            }
        }
    }
}

Last updated: