Android Jetpack Compose 维度编码标准

API*_*024 9 standards android android-jetpack-compose

对于旧的 XML 布局,我总是使用dimen.xml文件来定义几乎所有尺寸、填充、边距等。

在学习 Jetpack Compose 时,我发现所有存储库、示例等都将所有与维度相关的值直接硬编码到 compose 代码中,尽管我知道可以使用DimensionResource 方法xml 文件中读取它。

对此,Compose 的推荐方式是什么?继续使用 dimen XML 文件,还是将其硬编码到实际的撰写代码中?

Ahm*_*aee 1

Google 的官方文档提到资源维度可以与 compose 一起使用,dimensionResource()如下所示:

Box(
    modifier = Modifier
        .padding(
            horizontal = dimensionResource(id = R.dimen.padding_horizontal),
            vertical = dimensionResource(id = R.dimen.padding_vertical),
         ),
)
Run Code Online (Sandbox Code Playgroud)

我也更喜欢使用它们。我在 Medium 上看到过一篇文章,作者建议使用 kotlin 类和对象来存储尺寸,然后使用一些公式根据屏幕尺寸计算必须使用哪个类。不过,就我个人而言,我不建议走那条路。尺寸已经足够了,无论是稳定性还是易用性。