首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从多个图像中创建一个可绘制图像?

如何从多个图像中创建一个可绘制图像?
EN

Stack Overflow用户
提问于 2011-09-30 01:52:56
回答 1查看 21.4K关注 0票数 23

我有三个9补丁的PNG,它们一起组成了一个按钮的背景(左侧,中间,右侧)。我想将这三个图像组合在一个可绘制的图形中,我可以将其指定为XML中的按钮的背景,类似于:

res/drawable/button_background.xml:

代码语言:javascript
复制
<?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:

代码语言:javascript
复制
<button android:background="@drawable/button_background" />

这个是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-04 01:54:20

经过反复试验,我终于能够以令人满意的方式解决这个问题。我简单地实现了一个可绘制的层列表,如下所示:

代码语言:javascript
复制
<?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一样调用它:

代码语言:javascript
复制
<bitmap android:src="@drawable/button_background" />

它的工作原理与您期望的完全相同,中间按正常方式扩展以适合所需的宽度,所有三个图像都按所需的高度进行扩展。我希望其他人能从中受益!

票数 49
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7601357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档