Чтобы обнаружить мультитач-жесты, используемые для панорамирования, масштабирования и вращения, вы можете использовать модификатор transformable
. Этот модификатор сам по себе не преобразует элементы, а только распознает жесты.
@Composable
private fun TransformableSample() {
// set up all transformation states
var scale by remember { mutableStateOf(1f) }
var rotation by remember { mutableStateOf(0f) }
var offset by remember { mutableStateOf(Offset.Zero) }
val state = rememberTransformableState { zoomChange, offsetChange, rotationChange ->
scale *= zoomChange
rotation += rotationChange
offset += offsetChange
}
Box(
Modifier
// apply other transformations like rotation and zoom
// on the pizza slice emoji
.graphicsLayer(
scaleX = scale,
scaleY = scale,
rotationZ = rotation,
translationX = offset.x,
translationY = offset.y
)
// add transformable to listen to multitouch transformation events
// after offset
.transformable(state = state)
.background(Color.Blue)
.fillMaxSize()
)
}
Если вам нужно объединить масштабирование, панорамирование и вращение с другими жестами, вы можете использовать детектор PointerInputScope.detectTransformGestures
.
Пока рекомендаций нет.
Попытайтесь войти в свой аккаунт Google.