对于旧的 XML 布局,我总是使用 dimen.xml 文件来定义几乎所有尺寸、填充、边距等。
在学习 Jetpack Compose 时,我发现所有存储库、示例等都将所有维度相关值直接硬编码到 compose 代码中,尽管我知道可以使用 dimensionResource 方法从 xml 中读取它文件。
Compose 对此的推荐方式是什么?继续使用 dimen XML 文件,还是将其硬编码到实际的撰写代码中?
Google 的官方文档提到资源维度可以与使用
dimensionResource()
一起使用,如下所示:
Box(
modifier = Modifier
.padding(
horizontal = dimensionResource(id = R.dimen.padding_horizontal),
vertical = dimensionResource(id = R.dimen.padding_vertical),
),
)
我也更喜欢使用它们。我在 Medium 上看到过一篇文章,作者建议使用 kotlin 类和对象来存储尺寸,然后使用一些公式根据屏幕尺寸计算必须使用哪个类。不过,就我个人而言,我不建议走那条路。这些尺寸在可读性和易用性方面都已经足够高效且足够好。