我目前正在尝试使用Jetpack Compose中的自定义布局。这只是为了测试而已,这是我得到的结果:
@Preview(widthDp = 1000, heightDp = 1000)
@Composable
fun MyLayout() {
Layout({ Box(Modifier.size(48.dp).background(Color.Blue)) }) { measurables, constraints ->
val placeables = measurables.map { it.measure(constraints) }
layout(constraints.maxWidth, constraints.maxHeight) {
placeables.forEach { it.place(0, 0) }
}
}
}
我的问题是Box
填充了整个布局而不仅仅是48.dp
的大小。有人能解释一下为什么吗?我在这里阅读了有关创建自定义布局的内容,但没有找到任何有用的信息。
48.dp
,另一个使用96.dp
,尝试将它们都放置在(0,0),但是它们占用了相同的空间。现在我只想要类似于FrameLayout
的东西,其中元素可以堆叠在一起。 - Cilenco@Preview(widthDp = 1000, heightDp = 1000)
。删除widthDp
和heightDp
后,它正确地显示了。我还在我的手机上测试了一下,也可以正常显示。对此我感到很抱歉! - Cilenco