2012-01-27 40 views
2

我試圖用Drawable子類(在這種情況下爲LayerDrawable)在xml中創建一個drawable,用作View中的背景,但drawable不按照我的意圖計算和顯示其圖層。從這個論壇的幫助,我已經找到了源代碼的特定行的造成我的問題,我覺得可以非常容易地創建一個子類,或者更改代碼或做我想做的。是否可以創建一個使用特定於API的XML標記的自定義類?

我的問題是,假設我做,沒有意外的副作用的新的類,我將永遠需要訪問舊功能,是否有可能與original Drawable's xml tag structure使用新Drawable(例如:layer-list)創建我的更新可以用同樣的方式繪製?

例如,更換:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/resource_name" 
     android:drawable=drawable/drawable_resource" /> 

</layer-list> 

與此:

<?xml version="1.0" encoding="utf-8"?> 
<package.MyLayerDrawable xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/resource_name" 
     android:drawable=drawable/drawable_resource" /> 

</package.MyLayerDrawable> 
+0

我會這樣想,我知道,它的作品,如果你創建自己的視圖對象的方式。但我從來沒有親自嘗試,所以我不能肯定地說。 – FoamyGuy 2012-01-27 19:17:50

+0

我敢肯定它是不是隻是繼承LayerDrawable,我已經測試,以確保公正一樣簡單。在android網站上似乎沒有任何關於它的文檔。 – happydude 2012-01-28 04:54:21

回答

0

這樣嗎? :

package your.packepage; 

public class RemoteImageView extends ImageView { 
    .... 
} 

<your.packpage.RemoteImageView 
android:id="@+id/img_id" 
android:layout_width="10dp" 
android:layout_height="fill_parent" 
android:src="@drawable/ic_launcher" /> 
+0

我的目標是繼承'LayerDrawable',而不是一個'View'。例如,在上面的代碼中,我也想直接在新的子類xml中使用'item'標籤。 – happydude 2012-01-27 19:32:16

相關問題