Android XML布局中xmlns:tools的含义是什么?

例如,在:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > ... 

我需要把它吗?

  • Android视图上的阴影
  • Android XML布局文件和名称空间
  • Android XML转义“@”符号
  • 在Eclipse / Android中以XML格式转义angular度括号
  • 包含tag和dataBinding
  • Android:如何使用包含布局的工具
  • 从xml文件到ListView的Androidstring数组
  • 从android中恢复从应用程序中删除的Xml文件
  • 它定义了文档的XML名称空间。 你应该把它,否则parsing器不能识别像<RelativeLayout>标签。

    命名空间是XML文档包含来自不同供应商的标签的一种方式。 通过使用xmlns属性,你声明,默认情况下,你使用的是这里定义的XML元素: http : //schemas.android.com/apk/res/android (注意,这个链接被打破 – 这个讨论解释了原因)。

    您还声明了其他名称空间tools ,这不是您的默认名称空间,因此,在引用其中定义的元素或属性时,必须添加tools前缀,例如:

     tools:context=".SomeActivity" 

    其实,当你这样做的时候:

     <RelativeLayout android:id> </RelativeLayout> 

    xml不会调用android:id,而是调用http://schemas.android.com/apk/res/android:id 。 它只是声明你可以在你的xml中使用的所有属性和视图的页面。

    这是一个解释。 http://www.w3schools.com/xml/xml_namespaces.asp

    以下是Android开发者门户的有用链接: https : //developer.android.com/studio/write/tool-attributes.html

    它说

    Android Studio支持工具名称空间中的各种XML属性,这些属性支持devise时function(例如在片段中显示哪种布局)或编译时行为(例如应用于XML资源的缩小模式)。 构build应用程序时,构build工具将删除这些属性,以便对APK大小或运行时行为没有影响。

    即工具名称空间有助于devise用户界面,所有具有前缀“工具”的属性将在构build时被删除。