xmlns:android
,xmlns:app
,xmlns:tools
是什么,它们之间的基本区别是什么?什么时候应该使用它?
答案 0 :(得分:2)
对于android
和app
命名空间,请使用this link。
它用于您的应用中定义的所有属性,无论您是 代码或您导入的库,有效地形成一个整体 自定义属性的命名空间-即,未由自定义属性定义的属性 android系统。
在这种情况下,appcompat-v7库使用自定义属性 镜像
android:
命名空间以支持以前的版本 android(例如:android:showAsAction
仅在API11中添加, 但是app:showAsAction
(作为您的应用程序的一部分提供) 可以在您的应用执行的所有API级别上使用)-显然使用 android:showAsAction在该属性的API级别上不起作用 未定义。
关于tools
;
Android Studio在工具中支持各种XML属性 启用设计时功能(例如要布局的名称空间)的名称空间 片段中显示)或编译时行为(例如缩小的行为) 模式以应用于您的XML资源)。当您构建应用时, 构建工具会删除这些属性,因此不会对您的APK产生影响 大小或运行时行为。
还有tools
命名空间的另一种用法,您可以在字符串等中看到这些用法:
<string name="show_all_apps" tools:ignore="MissingTranslation">All</string>
这有助于忽略错误。
此外,还有另一个可以帮助定义TargetedAPI
:
tools:targetApi
还有更多。
阅读: https://developer.android.com/studio/write/tool-attributes