我想知道有一个地方可以定义所有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,但不是来自网站文档。
非常感谢。
答案 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
中找到LinearLayout
值LinearLayout.HORIZONTAL
(值0
)和LinearLayout.VERTICAL
(值1
)。
android:gravitiy
的可能值实际上是在一个单独的类Gravity
中定义的,这从封装的角度来看是有意义的,特别是因为重力是由不同的类使用的。 ViewGroup
实施。
通常,根据经验,如果常量只与单个类相关,那么您将在同一个类中找到它们。否则,它们很可能被分解为单独的文件或例如一个超类。