woodshy
woodshy

Reputation: 4121

Is it possible to use several 9 patch images inside LayerDrawable?

I want to use two nine patches inside LayerDrawable

   <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
       <item android:id="@+id/solid">
           <nine-patch android:src="@drawable/button_header_solid" android:dither="true" />
       </item>
       <item android:id="@+id/transparent">
           <nine-patch android:src="@drawable/button_header_transparent" android:dither="true" />
       </item>
   </layer-list>

And it seems that only first layer is stretched while second one stays as is.

Both images are of the same size as .png, and have equal stretchable and padding areas.

The question is: Do we allowed to use several 9-patches (in one layer-list) or only one is allowed?

Thanks.

Upvotes: 13

Views: 4478

Answers (2)

ChrisJD
ChrisJD

Reputation: 3654

The following makes both 9-patches behave as you would expect (tested on Android 2.2). Both 9-patches are expanded to fill the whole drawable area.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/solid" 
        android:drawable="@drawable/button_header_solid"/>
    <item android:id="@+id/transparent" 
        android:drawable="@drawable/button_header_transparent"/>
</layer-list>

Upvotes: 2

pleerock
pleerock

Reputation: 18856

Just now faced with the same problem. Try this:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
       <item android:id="@+id/solid">
           <nine-patch android:src="@drawable/button_header_solid" android:dither="true" />
       </item>
       <item android:id="@+id/transparent">
           <clip>
              <nine-patch android:src="@drawable/button_header_transparent" android:dither="true" />
           </clip>
       </item>
   </layer-list>

Upvotes: 3

Related Questions