我精通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提示时添加它们,但我想了解用例。谢谢!
答案 0 :(得分:2)
有人可以解释这三条线吗?
每个都声明了一个不同的XML命名空间(分别为android
,app
和tools
。
我们应该在哪些场景中包含每一种?
如果您的XML文件有一个或多个前缀为android:
的属性,则需要声明android
命名空间。许多XML文件都具有这些,来自框架定义的运行时属性。
如果您的XML文件有一个或多个前缀为app:
的属性,则需要声明app
命名空间。一些布局和菜单资源文件将使用库定义的属性。
如果您的XML文件有一个或多个前缀为tools:
的属性,则需要声明tools
命名空间。从用于帮助构建工具了解要做什么的属性中,很少有资源文件具有这些属性。