我想要一个包含行列的框,其中填充了更多子项,这些子项接受单击(“CL”)和长按(“LO”)以进行缩放和拖动。使用pointerInputwithdetectTransforgestures我可以根据需要改变子布局。
var zoom by remember { mutableStateOf(1f) }
var offset by remember { mutableStateOf(Offset.Zero) }
val outer = (1..60).toList().chunked(6)
Box(Modifier
.fillMaxSize()
.pointerInput(Unit) {
//zoom in/out and move around
detectTransformGestures { gestureCentroid, gesturePan, gestureZoom, _ ->
val oldScale = zoom
val newScale = (zoom * gestureZoom).coerceIn(0.5f..5f)
offset =
(offset + gestureCentroid / oldScale) - (gestureCentroid / newScale + gesturePan / oldScale)
zoom = newScale
}
}) {
Box(
Modifier
.graphicsLayer {
translationX = -offset.x * zoom
translationY …Run Code Online (Sandbox Code Playgroud) intercept kotlin pinchzoom android-jetpack-compose android-jetpack-compose-gesture