Jetpack Compose 中的 "View.onTouchListener" 等价物是什么?我需要触摸坐标
What is the "View.onTouchListener" equivalent in Jetpack Compose? I need the touch coordinates
这是我们目前在典型视图中使用的内容:https://developer.android.com/reference/android/view/View.OnTouchListener
Jetpack Compose 中是否有等效项?
在compose beta-05版本中,您可以使用:
Text("Your Composable", modifier = Modifier.pointerInput(Unit) {
detectTransformGestures { centroid, pan, zoom, rotation ->
}
// or
detectDragGestures { change, dragAmount -> }
// or
detectTapGestures(
onPress = { offset -> },
onDoubleTap = { offset -> },
onLongPress = { offset -> },
onTap = { offset -> }
)
// or other similar...
})
有了 1.0.0
你可以使用 PointerInput
mod
例如,您可以使用 detectTapGestures
:
Modifier.pointerInput(Unit) {
detectTapGestures(
onPress = {/* Called when the gesture starts */ },
onDoubleTap = { /* Called on Double Tap */ },
onLongPress = { /* Called on Long Press */ },
onTap = { /* Called on Tap */ }
)
}
Box(
Modifier
.pointerInput(Unit) {
detectDragGestures { change, dragAmount ->
change.consumeAllChanges()
//...
}
}
)
您还可以使用一些 mod 修饰符,例如:.scrollable
、.clickable
、.draggable
、.swipeable
。
这是我们目前在典型视图中使用的内容:https://developer.android.com/reference/android/view/View.OnTouchListener
Jetpack Compose 中是否有等效项?
在compose beta-05版本中,您可以使用:
Text("Your Composable", modifier = Modifier.pointerInput(Unit) {
detectTransformGestures { centroid, pan, zoom, rotation ->
}
// or
detectDragGestures { change, dragAmount -> }
// or
detectTapGestures(
onPress = { offset -> },
onDoubleTap = { offset -> },
onLongPress = { offset -> },
onTap = { offset -> }
)
// or other similar...
})
有了 1.0.0
你可以使用 PointerInput
mod
例如,您可以使用 detectTapGestures
:
Modifier.pointerInput(Unit) {
detectTapGestures(
onPress = {/* Called when the gesture starts */ },
onDoubleTap = { /* Called on Double Tap */ },
onLongPress = { /* Called on Long Press */ },
onTap = { /* Called on Tap */ }
)
}
Box(
Modifier
.pointerInput(Unit) {
detectDragGestures { change, dragAmount ->
change.consumeAllChanges()
//...
}
}
)
您还可以使用一些 mod 修饰符,例如:.scrollable
、.clickable
、.draggable
、.swipeable
。