我读到了关于XML命名空间的内容,我得知它们用于避免名称冲突,但我想问一些对我来说很奇怪的事情:
为什么我们会这样......
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:id="@+id/eventArea"/>
</LinearLayout>
而不是这样:
<android:LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<android:EditText
android:layout_height="fill_parent" ... />
</android:LinearLayout>
或者像这样:
<LinearLayout xmlns="http://schemas.android.com/apk/res/android"
layout_width="fill_parent"
layout_height="fill_parent">
<EditText
layout_height="fill_parent" ... />
</LinearLayout>
答案 0 :(得分:0)
xmlns
表示命名空间,而不是调用android:id
来调用标识资源名称的Uniform Resource Indicator(URI)
。
例如
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
当您调用URI时,它为linearlayout提供了唯一的标识。
的xmlns:机器人
定义Android命名空间。应始终将此属性设置为 &#34; http://schemas.android.com/apk/res/android&#34;
我猜是因为这是谷歌在编译时处理错误的设计选择,并且具有来自其他android:id的唯一名称。