gpt4 book ai didi

android - jetpack compose 中是否有 'touch delegate' 等效项?

转载 作者:行者123 更新时间:2023-12-04 23:38:36 29 4
gpt4 key购买 nike

android View 可以有一个触摸代理来增加元素的可点击区域,而不增加它的填充。 jetpack compose 中有类似的东西吗?我找不到可以做到这一点的修饰符。

最佳答案

将状态移动到父级

@Composable
fun ViewScreen() {
var scale by remember { mutableStateOf(1f) }
var offset by remember { mutableStateOf(Offset.Zero) }
var rotation by remember { mutableStateOf(0f) }

Column(
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier
// touch event
.pointerInput(Unit) {
detectTransformGestures(
onGesture = { _, pan, gestureZoom, gestureRotate ->
scale *= gestureZoom
offset = offset.plus(pan)
rotation += gestureRotate
}
)
}
.fillMaxSize()
) {
Cube(scale, offset, rotation)
}
}

@Composable
fun Cube(scale: Float, offset: Offset, rotation: Float) {
Box(
Modifier
.graphicsLayer(
scaleX = scale,
scaleY = scale,
rotationZ = rotation,
translationX = offset.x,
translationY = offset.y
)
.background(Color.Blue)
.size(256.dp)
)
}
  • state-hoisting
  • gestures
  • 关于android - jetpack compose 中是否有 'touch delegate' 等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68585720/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com