首页 > 解决方案 > 根据屏幕大小指定ConstraintLayout的constraintDimensionRatio

问题描述

我有一个布局,其中的图像需要根据屏幕尺寸以不同的纵横比显示。

我试着这样做

app:layout_constraintDimensionRatio="@dimen/image_ratio"

然后在不同的dimens.xml 文件中为合适的屏幕尺寸指定不同的比例。

<dimen name="image_ratio">3:1</dimen>

我让它在布局编辑器中完全按照我想要的方式工作,但它不会编译。

Android resource compilation failed
Output: [...]/values-sw600dp-v13.xml:11: error: invalid dimen.

不知道为什么它说错误在第 11 行,因为有问题的维度实际上在第 58 行

我认为看起来应该可以工作并且在编辑器中工作的东西在编译时不起作用是愚蠢的。

那么我应该如何达到这个结果呢?

标签: androidandroid-resourcesandroid-constraintlayout

解决方案


layout_constraintDimensionRatio属性需要字符串属性作为布局尺寸的比率(即 1:1)或具有高度或宽度的上下文(即 W,1:2 或 H,1:2)。

dimens.xml需要声明应用程序所需的尺寸,因此您需要将特定属性添加到strings.xml


推荐阅读