名称空间:如何知道如何以及何时使用它们?i、 e:xmlns:android,xmlns:app,xmlns:tools

名称空间:如何知道如何以及何时使用它们?i、 e:xmlns:android,xmlns:app,xmlns:tools,android,android-layout,android-xml,Android,Android Layout,Android Xml,什么是xmlns:android,xmlns:app,xmlns:tools,它们之间的基本区别是什么?我应该在什么时候使用它?对于android和app名称空间,请使用 它用于应用程序中定义的所有属性,无论是由 通过导入的代码或库,有效地生成单个全局 自定义属性的名称空间-即未由 安卓系统 在这种情况下,appcompat-v7库使用自定义属性 镜像android:命名空间,以支持以前版本的 android(例如:android:showAsAction仅在API11中添加, 但是app:sh

什么是
xmlns:android
xmlns:app
xmlns:tools
,它们之间的基本区别是什么?我应该在什么时候使用它?

对于
android
app
名称空间,请使用

它用于应用程序中定义的所有属性,无论是由 通过导入的代码或库,有效地生成单个全局 自定义属性的名称空间-即未由 安卓系统

在这种情况下,appcompat-v7库使用自定义属性 镜像
android:
命名空间,以支持以前版本的 android(例如:
android:showAsAction
仅在API11中添加, 但是
app:showAsAction
(作为应用程序的一部分提供) 适用于应用程序的所有API级别)-显然使用 android:showAsAction在包含该属性的API级别上不起作用 没有定义

关于
工具

Android Studio在工具中支持多种XML属性 启用设计时功能的命名空间(例如要使用的布局) 在片段中显示)或编译时行为(例如 模式以应用于XML资源)。当您构建应用程序时 构建工具会删除这些属性,因此不会对APK产生影响 大小或运行时行为

工具
名称空间还有其他用法,您可以在字符串等中看到:

<string name="show_all_apps" tools:ignore="MissingTranslation">All</string>
还有更多

阅读:

tools:targetApi