【问题标题】:Android namespaces in XML filesXML 文件中的 Android 命名空间
【发布时间】:2017-02-16 06:44:56
【问题描述】:
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"
  1. 如果有人可以解释 XML 文件中命名空间(android、app、工具)的含义是什么?每个词定义不同的库吗?

  2. 据我所知,在 XML 文件中,URI 只是一个字符串,它为命名空间提供了唯一的定义,那么 android 应用程序如何将命名空间连接到库?

  3. 假设我们给了“android”这个词它的默认命名空间,为什么在不同的元素中我们可以选择不同的属性?每个元素(视图项)是否都有其独特的属性?

【问题讨论】:

  • 看看This 它有一个足够好的解释,并进一步转到相同的android文档。 :)
  • 你检查我下面的答案了吗。

标签: android xml namespaces


【解决方案1】:

应用命名空间

app 命名空间不是特定于库,而是用于应用程序中定义的所有属性,无论是由您的代码还是由您导入的库,有效地为自定义属性创建单个全局命名空间 - 即属性不是android系统定义的。

android 命名空间

appcompat-v7 库使用镜像 android: 命名空间的自定义属性来支持早期版本的 android。

工具命名空间

tools 命名空间是 Android 工具特别认可的命名空间,因此您在 tools-namespace 中定义的视图元素的所有属性将在应用程序打包时自动剥离,并且没有运行时开销。

参考this答案。

简而言之:

android:text --> 运行应用程序时您会看到什么。

tools:text --> 您只会在预览窗口中看到的内容(当您需要设计布局,但在应用中的布局上看不到)。

【讨论】:

  • 我相信 OP 已经知道了。另外,我看不到您的“android NameSpace”部分如何解释android 命名空间。 “简而言之”部分是已知的,需要解释的。不过,第一段(复制粘贴)很有用。
猜你喜欢
  • 1970-01-01
  • 2011-04-14
  • 2010-10-22
  • 2012-07-23
  • 1970-01-01
  • 2017-08-14
  • 2021-09-28
相关资源
最近更新 更多