首页 > 解决方案 > Jetpack Compose - 关于预览 widthDp 和 heightDp

问题描述

什么是widthDpheightDp作为@Preview参数?

【我的环境】</p>

这是我的代码。

@Preview(
    showBackground = true,
    widthDp = 200,
    heightDp = 200,
)
@Composable
fun DefaultPreview() {
    Box(modifier = Modifier.size(100.dp).background(Color.Red))
}

预览如下。
在此处输入图像描述

但我预计在下面。
在此处输入图像描述

似乎盒子尺寸比我预期的要大。有人解释吗?

标签: androidandroid-jetpack-composeandroid-jetpack-compose-preview

解决方案


这在某种程度上是@Preview 的一个错误,第一个可组合项占用了它们拥有的孔空间,无法解释原因。即使没有这两个参数widthDp = 200, heightDp = 300,,第一个 Box 也会占用所有空间。因此,现在要获得您想要的结果,您必须在其周围放置一个“保护”主要可组合项的框。


推荐阅读