1

だから私はレイヤーリストを使用して透明なninepatch Drawableで地図画像を重ねようとしています。このような:

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

しかし、私が得たのはこれだけです(マップ画像は、透明であるはずなのに、ninepatch の端でトリミングされていることに注意してください):

問題 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 .pngです:

ナインパッチ http://f.cl.ly/items/0X3N0d331Q15380D093n/myninepatch.9.png

これを達成する方法はありますか?必ずしもninepatchを使うわけではありませんが、画像の大きさによって伸縮できるようにしたいです。または、インナーグローを行う方法を考えているなら、それもうねりです。

4

1 に答える 1

3

コメントを要約し、さらに読むためにそれをより明確にするため

9パッチは無効です:

  • 上部と左側の部分は、伸縮​​可能な領域のみを定義します。
  • 右下、コンテンツの位置。

あなたの例では、それはこのようなことをします(あなたに基づいていますが、役に立たない部分はありません):

9パッチ修正

次に、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>

このように、レイヤーリストを取り除くことができます

于 2012-06-20T09:55:12.477 に答える