是否可以在LayerDrawable中使用多个9个补丁图像?

时间:2011-05-21 09:34:24

标签: android nine-patch

我想在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>

似乎只有第一层被拉伸而第二层保持不变。

两个图像都与.png大小相同,并且具有相同的可伸缩和填充区域。

问题是:我们是否允许使用多个9补丁(在一个图层列表中)或只允许一个?

感谢。

2 个答案:

答案 0 :(得分:3)

刚才面临同样的问题。 试试这个:

<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>

答案 1 :(得分:2)

以下内容使这两个9补丁的行为与您预期的一样(在Android 2.2上测试)。两个9补丁都被扩展以填充整个可绘制区域。

<?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>