2012-06-20 53 views
1

所以我試圖用透明ninepatch覆蓋地圖圖像使用圖層列表繪製。就像這樣:Android:NinePatch和LayerList

target http://f.cl.ly/items/2b1x3c3o0w3t1z0b2o2s/Screen%20Shot%202012-06-20%20at%2010.34.18%20AM.png

但我得到的是這樣的(注意,地圖圖像是由ninepatch的邊緣裁剪,即使它應該是透明的):

problem http://f.cl.ly/items/380j3E2w452Y2D2d1K0a/Screen%20Shot%202012-06-20%20at%2010.29.45%20AM.png

這裏是我的層列表代碼:

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

,這裏是我的佈局的ImageView:

<ImageView 
     android:layout_width="298dp" 
     android:layout_height="106dp" 
     android:layout_gravity="center" 
     android:layout_marginBottom="11dp" 
     android:src="@drawable/detail_map_overlay" /> 

編輯:這裏的ninepatch巴紐:

ninepatch http://f.cl.ly/items/0X3N0d331Q15380D093n/myninepatch.9.png

任何想法如何實現這一目標?不一定使用ninepatch,但我想根據圖像的大小使其具有可伸縮性。或者如果你有一個想法如何做內心發光,那也會膨脹。

+0

你可以提供你的9補丁(或它的縮放)看看它是否有問題? –

+0

當然,我會將其添加到帖子,謝謝! –

+0

難道你不會忘記填充的底部和右側黑色欄? – VinceFR

回答

3

回顧一下意見,並使其進一步閱讀

你9補丁更加清晰無效:

  • 頂部和左側部分只定義拉伸區域。
  • 底部和右側,內容的位置。

你的榜樣,它會做這樣的事情(根據您的但沒有無用的部分):

9 patch corrected

然後將其設置爲ImageView的背景:

<ImageView 
    android:layout_width="298dp" 
    android:layout_height="106dp" 
    android:layout_gravity="center" 
    android:layout_marginBottom="11dp" 
    android:src="@drawable/detail_map" 
    android:background="@drawable/myninepatch"> 
</ImageView> 

像這樣,你可以擺脫層列表

+0

地圖應該是背景和ninepatch的src雖然,對不對? –

+0

作爲src的9補丁不起作用。它需要作爲背景。這對於9補丁邊緣的透明度會是一個問題。 保持LayerList ... –