我在哪里可以找到Android:源代码中的常量值?

时间:2012-12-18 06:18:21

标签: android attributes constants

我想知道有一个地方可以定义所有Android:名为Constants及其价值。 不是http://developer.android.com/reference/android/widget/LinearLayout.html#attr_android:orientation

中的html文档

我的意思是Android的Android开源代码库中的源代码在哪里:orientation和其他attrs,例如android:gravitiy。 我想0表示xx,1表示yy,但不是来自网站文档。

非常感谢。

2 个答案:

答案 0 :(得分:1)

你不会发现它们像Java一样构建,就像项目中的R一样。您可以在android-sdk / platforms / android中的SDK中看到它们的xml定义 - #/ data / res

例如,在android-sdk / platforms / android - #/ res / values / attrs.xml中找到android.R.attr.orientation,它的定义如下:platform-16

<!-- Standard orientation constant. -->
<attr name="orientation">
    <!-- Defines an horizontal widget. -->
    <enum name="horizontal" value="0" />
    <!-- Defines a vertical widget. -->
    <enum name="vertical" value="1" />
</attr>

答案 1 :(得分:1)

@Andy McSherry所说的并不完全正确,因为为了执行逻辑,XML常量仍然需要在代码中(无论是Java还是本机)匹配。

话虽如此,没有单个文件包含所有常量的定义。相反,常量通常相对于它们的使用位置来定义。例如,可以在android:orientation中找到LinearLayoutLinearLayout.HORIZONTAL(值0)和LinearLayout.VERTICAL(值1)。

android:gravitiy的可能值实际上是在一个单独的类Gravity中定义的,这从封装的角度来看是有意义的,特别是因为重力是由不同的类使用的。 ViewGroup实施。

通常,根据经验,如果常量只与单个类相关,那么您将在同一个类中找到它们。否则,它们很可能被分解为单独的文件或例如一个超类。