参考另一个维度中的维度

14

是否可以在一个维度资源中引用另一个维度资源?我的意思是像这样:

dimen.xml 文件:

<dimen name="test1">18sp</dimen>
<dimen name="test2">@dimen/test1</dimen>

将两个维度设置为相同值的目的是什么? - Roy James Schumacher
1
也许我想让test2、test3和test4与test1具有相同的值,但在代码中使用它们的位置不同。因此,如果我想更改test3的值,我只需更改此值,其他值将保持不变。 - leuchtdiode
编译器说了什么? - jfs
其实我没有尝试过,因为我认为这不会起作用?但我会尝试一下。 - leuchtdiode
1
如果您确定布局中某些尺寸“根据定义”相同,则使用相同的dimen,这确实很有意义。但是,如果某些尺寸在某种程度上相关并且恰好相同,但又不是根据定义,请声明2个维度,并使用@dimen引用另一个维度。如果您要在某个地方更改值,则更改将在一个地方进行。如果在开发期间,您决定它不再应该是相同的值,则仅在一个地方更改引用即可。 - Joffrey
显示剩余2条评论
3个回答

19

它按照我发布的方式运作

<dimen name="test1">18sp</dimen>
<dimen name="test2">@dimen/test1</dimen>

2
我建议在使用此方法时考虑另一种情况。我理解您在评论中所说的,但是要么这两个值之间存在联系,要么不存在联系,您应该区分这两种可能性。
如果test1test2之间没有联系,并且它们是独立的,它们持有相同的值只是巧合,那么您不应该建议它们之间存在联系。而是将相同的值设置两次即可。

-4
为什么要创建一个与第一维相同值的第二维? 不要创建第二维,而是使用第一维!

请阅读我在第一篇帖子中的评论。也许我想在以后更改其中一个维度的值。 - leuchtdiode
创建一些变量! - TN888
如果您要创建变量,那么您如何在布局文件中引用它们? - shoe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接