我如何从多个图像绘制一个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" /> 

这可能吗?

  • 在android中设置形状背景透明
  • 在Android上重新使用不同的屏幕尺寸和密度的可绘制图像
  • 与底部中风的Android形状
  • BitmapFactory.decodeResource()为xml drawable中定义的形状返回null
  • 使用可绘制的资源
  • Android圆形进度条带圆角
  • 带有边框颜色的圆角
  • 如何预览xml 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" /> 

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