5.5 9Patch工具
点9图是Android中为处理图像拉伸而产生的一种图片格式,相信大部分的开发者都使用过9Patch图,该工具在SDK目录的tools目录下,如图5.13所示。
图5.13 draw9patch
直接执行draw9patch指令或者双击该工具,可以打开9patch工具。打开后,将一张png图片拖入工具中,或者选择file-open 9patch选项打开要处理的图片,如图5.14所示。
图5.14 打开draw9patch
如图5.14所示,这里要处理的是一张圆角矩形图片,在工具的左边是待处理的图片。右边从上到下,依次是纵向拉伸效果、横向拉伸效果、整体拉伸效果的预览图。如果开发者不使用9patch图,则可以发现图像在拉伸的时候已经变形了。圆角矩形的圆角部分也被进行了拉伸,而我们想要的效果是不被拉伸,保持圆角。
要达到这个效果,只需要在左边待处理的图片上拖动边缘的边界线,选择可以被拉伸的区域即可,如图5.15所示。
图5.15 制作9patch图
如图5.15所示,通过拉伸图像的边界线,将可拉伸区域设置为圆角矩形中间的那块小矩形,这样四个圆角就不会被拉伸。通过右边的预览图可以发现,在图像被拉伸时没有发生圆角被拉伸的情况。处理完毕后,点击file-save 9 patch即可保存为9patch图片。
那么除了在终端中直接使用SDK中的这个工具,Android Studio在IDE中也同样集成了这个功能。选中一张图片,单击鼠标右键在菜单中选择“create 9-patch file”即可,如图5.16所示。
图5.16 使用Android Studio制作9patch图
这样Android Studio会自动生成一张9patch图片,开发者可以直接在IDE中对这个图片进行处理。处理方式与在命令行下的处理方式相同,如图5.17所示。
图5.17 使用Android生成9patch图
在Android Studio中创建9patch图与使用SDK工具中的draw9patch工具几乎一样,唯一的好处是比较方便,可以在IDE中直接使用。
