我们是否需要将 xmlns:android="http://schemas.android.com/apk/res/android" 添加到 XML 文件的每个根视图中?

问题描述

如果我创建了一个 LinearLayout添加xmlns:android="http://schemas.android.com/apk/res/android"关闭了它,我是否需要再次将命名空间添加到同一文件中的另一个 ViewGroup

解决方法

是的,如果您想使用 andorid: 前缀属性,则需要在每个 root 视图上声明命名空间。但是不,您不需要在同一文件中的不同 ViewGroup 上声明命名空间(并且不允许有多个根)。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android">

    <FrameLayout />
</FrameLayout>

您可以查看 W3Schools 的 this article,它描述了什么是命名空间以及它们为何重要。