多点触控:平移、缩放、旋转

如需检测用于平移、缩放和旋转的多点触控手势,您可以使用 transformable 修饰符。此修饰符本身不会转换元素,只会检测手势。

@Composable private fun TransformableSample() {  // set up all transformation states  var scale by remember { mutableFloatStateOf(1f) }  var rotation by remember { mutableFloatStateOf(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 检测器。

  • 注意:当 JavaScript 处于关闭状态时,系统会显示链接文字
  • 了解手势