@Composable fun DraggableBox(modifier: Modifier = Modifier) { var offsetX by remember { mutableStateOf(0f) } var offsetY by remember { mutableStateOf(0f) } var isDragging by remember { mutableStateOf(false) } Column( Modifier.fillMaxSize() ){ Box( modifier = modifier .background(Color.Red) .size(300.dp) ) Box( modifier = modifier .offset { IntOffset(offsetX.roundToInt(), offsetY.roundToInt()) } .pointerInput(Unit) { detectDragGestures( onDragStart = { isDragging = true }, onDragEnd = { isDragging = false }, onDrag = { change, dragAmount -> offsetX += dragAmount.x offsetY += dragAmount.y change.consumeAllChanges() } ) } .background(Color.Blue) .size(25.dp) ) } }