我们是不是需要将 xmlns:android="http://schemas.android.com/apk/res/android" 添加到 XML 文件的每个根视图中?
Posted
技术标签:
【中文标题】我们是不是需要将 xmlns:android="http://schemas.android.com/apk/res/android" 添加到 XML 文件的每个根视图中?【英文标题】:Do we need to add xmlns:android="http://schemas.android.com/apk/res/android" to every root view of an XML file?我们是否需要将 xmlns:android="http://schemas.android.com/apk/res/android" 添加到 XML 文件的每个根视图中? 【发布时间】:2021-07-27 03:52:42 【问题描述】:如果我创建了LinearLayout
,添加xmlns:android="http://schemas.android.com/apk/res/android"
并关闭它,我是否需要再次将命名空间添加到同一文件中的另一个ViewGroup
?
【问题讨论】:
【参考方案1】:是的,如果您想使用 andorid:
前缀属性,则需要在每个 root 视图上声明命名空间。但是不,您不需要在同一文件中的不同 ViewGroup
上声明命名空间(并且不允许有多个根)。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android">
<FrameLayout />
</FrameLayout>
您可以查看来自 W3Schools 的 this article,它描述了命名空间是什么以及它们为何如此重要。
【讨论】:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" [other views]> </LinearLayout> <LinearLayout [other views]> </LinearLayout>
这段代码可以吗,还是我需要这样做?:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" [other views]> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" [other views]> </LinearLayout>
你的布局文件中不能有多个根,这没有任何意义。所以这些例子都没有真正起作用。
您能否提供一个使用此命名空间的示例?请包含 2 个或更多视图组。
在我的回答中添加了一个示例。以上是关于我们是不是需要将 xmlns:android="http://schemas.android.com/apk/res/android" 添加到 XML 文件的每个根视图中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 qRegisterMetaType 而不是 Q_ENUM?
为啥我们更喜欢在角度中使用 $q 而不是 $http [重复]
xmlns:android="http://schemas.android.com/apk/res/android" 被添加到我的所有布局对象中导致错误
为啥这行 xmlns:android="http://schemas.android.com/apk/res/android" 必须是布局 xml 文件中的第一行?