1. 程式人生 > >xmlns(xml名稱空間)

xmlns(xml名稱空間)

xmlnsXML Namespaces的縮寫,中文名稱是XML名稱空間。

使用的規則為,首先定義名稱空間xmlns:namespace-prefix="namespaceURI"

Androidxml中的使用是: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>