android:为xml元素分配一个常量值

时间:2011-12-13 16:11:46

标签: android xml constants android-xml

我正在编写一个Android应用程序。我坚持使用xml-layout。 是否可以使用类中定义的变量(常量)为xml-tag赋值?

我的所有程序常量都有一个名为Constants.java的类。我这样做是为了更好的可维护性。 现在我想使用这个常数之一,例如VAL定义如下为ui-widged的值。

public class Constants {
public static final int VAL = 10;
...
}

在我的情况下,小部件是一个进度条(水平样式),我想定义“android:max”值。 通常可以写:

android:max="10"
android:max="@Integer/val

但我想使用我的Constants类中定义的值,如:

android:max="Constants.VAL"

有解决方案吗?

感谢

2 个答案:

答案 0 :(得分:20)

不,你不能。类中的常量值仅在运行时可用,并且XML文件在运行时之前编译和生成。

下一个要做的事情是声明要在res/values/integers.xml中使用的XML常量。这是一个示例integers.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="max">10</integer>
</resources>

要在XML中使用此值,请执行以下操作:

<YourComponent
    android:yourattr="@integer/max"/>

答案 1 :(得分:0)

你的问题不是很清楚,你想用它做什么? 如果你想使用一个常量值,那么只需用常量创建ui-widgets,然后忽略xml。