xmlns是 XML Namespaces 的縮寫,中文名稱是 XML命名空間。android
xmlns:namespace-prefix="namespaceURI"。app
命名空間的做用是什麼呢?命名空間里約定了對應類的屬性,經過它能夠知道對應類下有什麼樣的屬性;也能夠理解爲語法文件,經過它你能夠知道輸入屬性的正確與否。Android 佈局文件中常常能看到的命名空間爲:xmlns:android="http://schemas.android.com/apk/res/android",Android 這個命名空間就對應了 /frameworks/base/core/res/res/values/attrs.xml 文件中定義的屬性值。佈局
那麼如何進行 xmlns 的自定義呢?Android 中在 xml 中的使用是:xmlns:{前綴}="http://schemas.android.com/apk/res/{應用程序包名}";【案例:xmlns:sunzn="http://schemas.android.com/apk/res/com.sunzn.todo"】。使用時的格式爲:{前綴}:{屬性}="{屬性值}";【案例:sunzn:text="@string/app_name"】。屬性若是使用 xmlns,則 xmlns 的定義必須放在最外層開始的的標記中。當命名空間被定義以後,全部帶有相同前綴的子元素都會與同一個命名空間相關聯。避免 XML 解析器對 xml 解析時的發送名字衝突,這就是使用 xmlns 的必要性。當自定義的 View 有本身的屬性的時候,就要用到 xmlns 來定義一個命名空間。spa