我有三个9补丁的PNG,它们一起组成了一个按钮的背景(左侧,中间,右侧)。我想将这三个图像组合在一个可绘制的图形中,我可以将其指定为XML中的按钮的背景,类似于:
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" />这个是可能的吗?
发布于 2011-10-04 01:54:20
经过反复试验,我终于能够以令人满意的方式解决这个问题。我简单地实现了一个可绘制的层列表,如下所示:
<?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值是以像素为单位的两个按钮侧面图像的宽度。
要使用这个drawable,只需像调用任何其他drawable一样调用它:
<bitmap android:src="@drawable/button_background" />它的工作原理与您期望的完全相同,中间按正常方式扩展以适合所需的宽度,所有三个图像都按所需的高度进行扩展。我希望其他人能从中受益!
https://stackoverflow.com/questions/7601357
复制相似问题