Android布局中的xmlns属性

时间:2015-07-08 17:24:19

标签: android xml android-layout android-menu

我精通Java,但不熟悉XML。在我的许多布局/菜单文件中,我有以下几行:

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"

有时我拥有所有这些,有时只是一些组合。有人可以解释这三条线吗?在哪种情况下我们应该包括每一个?到目前为止,我只是在Android Studio提示时添加它们,但我想了解用例。谢谢!

1 个答案:

答案 0 :(得分:2)

  

有人可以解释这三条线吗?

每个都声明了一个不同的XML命名空间(分别为androidapptools

  

我们应该在哪些场景中包含每一种?

如果您的XML文件有一个或多个前缀为android:的属性,则需要声明android命名空间。许多XML文件都具有这些,来自框架定义的运行时属性。

如果您的XML文件有一个或多个前缀为app:的属性,则需要声明app命名空间。一些布局和菜单资源文件将使用库定义的属性。

如果您的XML文件有一个或多个前缀为tools:的属性,则需要声明tools命名空间。从用于帮助构建工具了解要做什么的属性中,很少有资源文件具有这些属性。