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