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

প্যানিং, জুম করা ও ঘোরানোর জন্য ব্যবহৃত মাল্টিটাচ জেসচার শনাক্ত করতে, আপনি 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 ডিটেক্টর ব্যবহার করতে পারেন।