xmlns(xml名稱空間)
阿新 • • 發佈:2019-02-13
xmlns是XML Namespaces的縮寫,中文名稱是XML名稱空間。
使用的規則為,首先定義名稱空間xmlns:namespace-prefix="namespaceURI"。
Android中xml中的使用是:xmlns:字首=http://schemas.android.com/apk/res/應用程式包路徑;然後使用的時候按格式:namespace-prefix(字首):屬性
如果使用xmlns,則xmlns的定義必須放在最外層開始的的標記中
當名稱空間被定義之後,所有帶有相同字首的子元素都會與同一個名稱空間相關聯。避免XML解析器對xml解析時的傳送名字衝突,這就是使用xmlns的必要性。當自定義的View有自己的屬性的時候,就用到xmlns來定義一個名稱空間。
一個例子:
如果為了相容 Android 2.1 的版本使用了 Support 庫,在 android
名稱空間下 showAsAction
屬性是不可用的。Support 庫會提供替代它的屬性,我們必須宣告自己的 XML 名稱空間,並且使用該名稱空間作為屬性字首。(一個自定義 XML 名稱空間需要以我們的 app 名稱為基礎,但是可以取任何想要的名稱,它的作用域僅僅在我們宣告的檔案之內。)例如:
res/menu/main_activity_actions.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp ="http://schemas.android.com/apk/res-auto" >
<!-- 搜尋, 應該展示為動作按鈕 -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
yourapp:showAsAction="ifRoom" />
...
</menu>