← Back to Foundation
draggable
Modifier
in
Foundation
. Since 0.1.0-dev15Overview
Examples
Community Notes
Video
@Composable
fun DraggableSample() {
// Draw a seekbar-like composable that has a black background
// with a red square that moves along the 300.dp drag distance
val max = 300.dp
val min = 0.dp
val (minPx, maxPx) = with(LocalDensity.current) { min.toPx() to max.toPx() }
// this is the state we will update while dragging
val offsetPosition = remember { mutableStateOf(0f) }
// seekbar itself
Box(
modifier = Modifier
.width(max)
.draggable(
orientation = Orientation.Horizontal,
state = rememberDraggableState { delta ->
val newValue = offsetPosition.value + delta
offsetPosition.value = newValue.coerceIn(minPx, maxPx)
}
)
.background(Color.Black)
) {
Box(
Modifier.offset { IntOffset(offsetPosition.value.roundToInt(), 0) }
.size(50.dp)
.background(Color.Red)
)
}
}
Next ComponentBaseTextField →