Çoklu dokunma: Kaydırma, yakınlaştırma, döndürme

Kaydırma, yakınlaştırma ve döndürme için kullanılan çok noktalı hareketleri algılamak amacıyla şunları yapabilirsiniz: transformable değiştiricisini kullanın. Bu değiştirici, öğeleri aşağıdaki gibi dönüştürmez: sadece hareketleri algılar.

@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()
    )
}

Çoklu dokunma, kaydırma, yakınlaştırma ve döndürme hareketlerine yanıt veren bir kullanıcı arayüzü öğesi

Yakınlaştırma, kaydırma ve döndürmeyi diğer hareketlerle birleştirmeniz gerekiyorsa URL'leri PointerInputScope.detectTransformGestures tıklayın.

Şu anda öneri yok.

Google Hesabınızda deneyin.