在XML文件中定义变量

时间:2012-08-10 21:30:49

标签: android xml

我有一个包含5个textview的XML文件,所有文本视图都使用相同的textSize。目前,我定义了这样的大小:

android:textSize="30dp"

但是,我希望能够快速应用以下内容:

android:textSize="text_size"

textSize是我在某处定义的变量,可以在我的XML文件中的任何地方使用。我尝试在Android项目的strings.xml文件中定义这些变量,并像这样调用它们:

android:textSize="@string/text_size"

在strings.xml中将如此定义

<string name="text_size">30dp</string>

它在Ecplise中运行良好,并且在图形布局中表现得很好。但是当我尝试在手机上运行应用程序时,它就崩溃了。

那么,有没有办法在我的XML布局文件中定义变量?感谢。

1 个答案:

答案 0 :(得分:3)

您将它放在strings.xml中的想法很接近,但这些值需要在维度XML文件中设置。文档为here

使用您的示例,您可以创建一个名为res/values/my_dimens.xml的文件。然后放在那里

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

然后在布局中使用它,只需设置

即可
android:textSize="@dimen/my_text_size"