在String中定义xml的宽度值

时间:2016-08-26 07:18:55

标签: android xml string

我的xml文件中有几十个ImageView,并在strings.xml中定义了长度,例如string name="cardWidth">100dp</string>,然后让content_main.xml在宽度中使用该字符串。就像android:layout_width="@string/cardWidth"那样,我可以只更改一次值,看看所有图像是如何显示的。

编译没有问题但是出现运行时错误

  

二进制XML文件行#XX:    您必须提供layout_width属性。

我研究过,我在S.O.当您在值中使用字符串时会发生这种情况。一旦我对它感到满意,我可能只是对这个价值进行硬编码,但有没有解决方法?

谢谢!

对不起格式化,这是我的第一个问题!

2 个答案:

答案 0 :(得分:1)

您的维度值需要定义为(可能在文件res/values/dimens.xml中):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="cardWidth">100dp</dimen>
</resources>

然后,您可以使用以下方式访问它们:

android:layout_width="@dimen/cardWidth"

答案 1 :(得分:0)

将这些宽度与values文件夹中的维度一起使用,而不是使用string.xml,如下所示:

<dimen name="cardWidth">16dp</dimen>