মাল্টিটাচ: প্যান করা, জুম করা, ঘোরানো

প্যানিং, জুমিং এবং রোটেটিংয়ের জন্য ব্যবহৃত মাল্টিটাচ জেসচার শনাক্ত করতে, আপনি 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()
    )
}

মাল্টিটাচ জেসচার—প্যানিং, জুমিং ও রোটেটিংয়ে সাড়া দেওয়া UI এলিমেন্ট

অন্যান্য জেসচারের সাথে আপনাকে যদি জুম, প্যান ও রোটেট করতে হয়, তাহলে আপনি PointerInputScope.detectTransformGestures ডিটেক্টর ব্যবহার করতে পারবেন।