为什么样式和布局使用android命名空间?

例如,创build这个时:

<TextView style="@style/blah" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <include layout="@layout/footer" android:layout_width="fill_parent" android:layout_height="wrap_content"/> 

可能的原因: stylelayout在编译时得到处理,但我不是100%确定。

编辑:

AndroidManifest.xml文件中的package一样。

Solutions Collecting From Web of "为什么样式和布局使用android命名空间?"

看看LayoutInflater的来源,似乎没有一个明显的原因,它是为什么它是在包含标签,而不是android:layout 。 我猜因为包含标签是一个特殊的情况在布局中不需要android前缀。

包含标记不会在编译时处理,否则它不会在LayoutInflater现在不会;)

至于style ,我不知道,但我认为原因是名称空间属性是在XML中定义,并在View构造函数中作为AttributeSet传递。 然而,样式不是在该集合中传递的,而是作为单独的parameter passing的。 所以我认为推理是style是一个始终存在的参数,而命名空间前缀属性是dynamic的和自定义的View

所以没有明确的答案,但也许有帮助;)