我如何从多个图像绘制一个drawable?

我有三个9-补丁PNG的,一起组成了一个button(左侧,中间,右侧)的背景。 我想将这三个图像结合在一个可绘制的图像中,我可以将其指定为XML中button的背景,如下所示:

res/drawable/button_background.xml:

 <?xml version="1.0" encoding="utf-8"?> <nine-patch xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/button_left_side" /> <nine-patch android:src="@drawable/button_middle" /> <nine-patch android:src="@drawable/button_right_side" /> 

res/layout/main.xml:

 <button android:background="@drawable/button_background" /> 

这可能吗?

Solutions Collecting From Web of "我如何从多个图像绘制一个drawable?"

经过一番反复试验,我能够很好的解决问题。 我简单地实现了一个Layer-List可绘制如下:

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/btn_left" android:left="0px" /> <item android:drawable="@drawable/btn_middle" android:left="26px" android:right="26px" /> <item android:drawable="@drawable/btn_right" android:right="0px" /> </layer-list> 

26px值是两个button侧图像的宽度(以像素为单位)。

要使用这个drawable,只需要像其他drawable一样调用它:

 <bitmap android:src="@drawable/button_background" /> 

这正如你所期望的那样工作,中间正常扩展以适合所需的宽度,并且所有三个图像扩展以适合期望的高度。 我希望别人能从中受益!