ANDROID中XML屬性xmlns和tools作用
在佈局文件中可以看到:
xmlns:android=""
xmlns:tools=""
tools:context=".xxxActivity"
三個屬性;
其中xmlns全稱xmlnamespace(命名空間)
命名空間的意義:因爲xml的格式本身可以自由定義,每個人都可以寫一套自己的格式規則,那麼問題來了,別人的解析器怎麼識別相不同的xml;並且Android自身有一套自己的定義規則,有對應的解析器。其實可以把命名空間當作是這種XML格式的名字,隨便起一個不和其它的XML不起衝突的名字就行,而一般大公司的做法是,填上一個網址,對應網址有講明相應格式的用法,即命名了,又讓別人可以查詢對應xml使用的格式,所以算是一舉兩得。
1.xmlns:android=""
這一屬性不能去掉。
2.xmlns:tools=""
tools:context=".xxxActivity"
這兩上是一起的,可把xmlns:tools=""當作是tools:context=""的命名空間,如果沒有xmlns:tools=""
直接使用tools:context=""會提示Erroe parsing XML,unbound prefix(解析出錯,未約束的前綴),
意思解析器不知道tools這個前綴是啥意思,因爲你沒有提供相應的命令空間來提示解析器。
tools:context=”.xxxActivity”作用:
讓Layout Editor知道當前佈局對應哪一個Activity,來更好的顯示預覽界面,比如當前使用了一個主題,或者使用了一個ActionBar,就都可以顯示出來。如果不添加這個屬性,就只會顯示佈局文件定義的界面。