2014-09-24 40 views
3

我所看到的自定義XML具有:區別 - 安卓

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:custom="http://schemas.android.com/apk/res-auto" 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:custom="http://schemas.android.com/apk/com.package.custom" 

什麼這兩個傢伙有什麼區別?

  1. 後者是否只指向默認位置,如您的包?
  2. 前者是否指向參考庫?

謝謝。

回答

3

如果我們添加一個新的自定義視圖和我們的項目裏面它的屬性,你在你的佈局開始補充一點:

xmlns:custom="http://schemas.android.com/apk/res/your_main_app_package 

如果新的自定義視圖鏈接到你的項目庫項目中,你補充一點:

xmlns:custom="http://schemas.android.com/apk/res-auto 

注:此問題已被固定在ADT修訂17+。對於任何服務或活動,申報命名空間,如下所示:

xmlns:custom="http://schemas.android.com/apk/res-auto" 

後綴res-auto將在構建時與實際項目包進行更換,所以一定要設置你的屬性名稱,以避免衝突,如果在所有可能。

+0

感謝您的詳細信息。 – david 2017-02-07 17:01:30