xmlns:android="http://schemas.android.com/apk/res/android
xmlns,它是 XML 文档中的一个概念:英文叫作 XML namespace,中文翻译为 XML 命名空间。android
一讲到命名空间,我想不少人会联想到C++中的namespace和Java中的 packagename,而这二者的做用都是为了解决命名上的冲突(例如类名,接口名等)。app
相似的,XML namespace也是为了解决 XML 中元素和属性命名冲突,由于 XML 中的标签并非预约义的,这一点与 HTML 是有区别的,HTML 中的标签是预约义的,因此咱们会遇到命名冲突的问题。工具
XML 命名空间定义语法为xmlns:namespace-prefix=”namespaceURI”,一共分为三个部分:布局
在Android中,目前咱们碰到的xmlns一共有三种:spa
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto"
Android 自定义的xmlns其实很简单,语法规则是: xmlns:前缀=http://schemas.android.com/apk/res/你的应用程序包路径..net
通常状况下,咱们引用“apk/res-auto”就让app可以访问res下全部资源的能力,固然若是想让其只能访问某个res资源,只须要引用“包名/apk/res/具体属性文件夹”便可。翻译
在布局中,任意xml标签下添加代码:code
xmlns:tools="http://schemas.android.com/tools"
以后,咱们便能使用android为咱们提供的tools,先举个开发过程当中的案例:xml
有时候在布局一个xml的过程当中须要查看某个TextView的文字效果,因而指定了android:Text =
“客户们都是笨蛋”;这时,产品上线,结果忘了删除这行代码,数据加载也没有从新设置text内容。blog
这种场面是否是就很尴尬了?使用tools标签就可以避免这样的尴尬,咱们在xml布局中加入tools:text=”客户们都是笨蛋”,预览中就会显示出 客户们都是笨蛋
但实际上,若是运行的话,是看不到这条text的。
除此以外,tools:标签几乎支持全部android:的同名标签,好比tools:src、tools:textSize等,能够本身进行探索。
总之,tools的做用就是可以方便开发者在开发过程当中提早预览xml布局而对以后的运行结果不产生影响,挺方便的一个工具。
参考:
http://www.jianshu.com/p/6fcaffaeffd2