<
Compose学习笔记 修饰符 modify
>
上一篇

Compose学习笔记 可组合项 composable
下一篇

Compose学习笔记 views 与 compose

Modifier

官方文档 修饰符列表

常用修饰符

Modifier 是有序的, 例如 clickable padding background 设置不同的顺序 效果是不一样的

高级

@Composable
fun DraggableExample() {
    var offsetX by remember { mutableStateOf(0f) }
    var offsetY by remember { mutableStateOf(0f) }

    Box(
        modifier = Modifier
            .size(100.dp)
            .background(Color.Blue)
            .offset { IntOffset(offsetX.roundToInt(), offsetY.roundToInt()) }
            .draggable(
                orientation = Orientation.Horizontal,
                state = rememberDraggableState { delta ->
                    offsetX += delta
                }
            )
            .draggable(
                orientation = Orientation.Vertical,
                state = rememberDraggableState { delta ->
                    offsetY += delta
                }
            )
    )
}
@Composable
fun ScalableExample() {
    var scale by remember { mutableStateOf(1f) }
    val scaleGestureModifier = Modifier.pointerInput(Unit) {
        detectTransformGestures { _, pan, zoom, _ ->
            scale *= zoom
        }
    }

    Box(
        modifier = scaleGestureModifier
            .size(100.dp)
            .background(Color.Red)
            .graphicsLayer(scaleX = scale, scaleY = scale)
    )
}
Top
Foot