2014-02-08 29 views
14

我需要創建一個帶有圖層列表的可繪製圖層,以使背景圖層爲圖像,前景爲透明顏色。我能夠做到這一點。我不成功的地方是添加一些填充/邊距,以便在它們的底部顯示一塊圖像,而在其上方沒有彩色圖層。這是我的xml。感謝您的幫助。如何添加填充到位圖和層列表中的顏色

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

    <item> 
    <shape 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle" > 
     <solid android:color="@color/color1" /> 
     <padding android:bottom="20dp" /> 
    </shape> 
    </item> 

</layer-list> 

因爲這個配置不工作,我的猜測是將填充在第一層。但我不知道怎麼做,與位圖

回答

37

移動從shape底部填充父item

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
    <bitmap android:src="@drawable/img1" /> 
    </item> 
    <item android:bottom="20dp"> 
    <shape android:shape="rectangle" > 
     <solid android:color="@color/color1" /> 
    </shape> 
    </item> 
</layer-list> 

有關更多信息,請參閱http://idunnolol.com/android/drawables.html#layer-list

6

包裹位圖的插圖繪製內並設置填充有

+0

感謝....它的工作原理 –

0

如果在層列表中添加繪製到同一項目可以應用性能,如android:topandroid:bottomandroid:leftandroid:right處理填充。

我解決了我的問題,通過簡單地使用android:widthandroid:height屬性繪製出與TextView不一致。

E.g.

<item 
    android:width="26dp" android:height="26dp" 
    android:drawable="@drawable/ic_person"> 
    <shape android:shape="rectangle" > 
     <solid android:color="@android:color/transparent" /> 
    </shape> 
</item>