我以以下可组合为例:
@Composable
fun CustomCanvas(
) {
Box(
Modifier
.aspectRatio(1.33f)
.fillMaxWidth())
}
如何知道合成后这个物体的大小?
为什么我想知道: 我正在尝试调整大小并将图像放置在画布上。这需要知道画布的大小。不,我不想硬编码画布的大小。如何做到这一点?
答案 0 :(得分:3)
您可以使用 onGloballyPositioned
修饰符:
var size by remember { mutableStateOf(IntSize.Zero) }
Box(Modifier.onGloballyPositioned { coordinates ->
size = coordinates.size})
{
//...
}
还有 Canvas
有一个 DrawScope
,它有 size
属性。
Canvas() {
val canvasSize = size
}