Android studio下进行9patch图片的编辑

    之前进行的开发当中有涉及到9patch图片的使用,但较少,都是做好的图直接使用了,但最近出现了在Android studio里面使用eclipse项目的9patch时候,编译会报错。之前还没有搞清楚是图片的原因导致报错,后来才发现了,是由于Android studio里面多了对9patch图片的更精细的检查机制,导致之前做的“粗糙”的图片资源在studio上面不能够使用了。 因此必须自己动手修改或者重新制作哦9patch图片了。

    在eclipse上面没有操作过9patch的制作,不过似乎需要自己安装工具之类的。但是在Android studio上面则更加方便了,大体步骤是:将项目的.png图片放到资源文件夹drawable下面,然后右键则出现带有“create 9patch file~”的选项了,如下图所示:

                                                        Android studio下进行9patch图片的编辑_第1张图片

    点击后会出现另一个让你选择保存9patch文件的目录和名称确认,这里直接默认就在drawable保存,名称也默认就是之前的.png图片变为.9.png图片就好了。然后就生成了这个.9.png图片的初始样本了,这个时候可以将之前的图片删掉了,不然编译的时候会报错“duplicate source”了。或者做好.9.png图片再删掉也可以。

    点击~~.9.png的图片就自动进入到了编辑和查看状态了,这次编辑的是一张即时通信里面需要用到的图片,根据textview的内容长短要进行动态的拉伸,图片编辑环境如下:

Android studio下进行9patch图片的编辑_第2张图片

    最下面是预览和编辑窗口的大小调剂和左侧编辑效果预览的窗口大小调节。其实编辑9patch只要掌握四个边对应的黑线或者说黑点是什么意思就能够编辑出想要的效果了,之前我有点懵,因为感觉逻辑上面和自己的理解有点冲突,但是画了一张后就完全明白了。这里解释一下四个边上所画的黑线/黑点的意思(一个黑点就是一个像素位置,连续的添加几个像素的黑点就是一条线,就这个意思):

    1.左边加上黑线区域表示整个图片在上下/纵向拉伸时候保证只有黑色区域的像素参与拉伸,其他地方都是原样,具体效果可以参考右侧的预览;

    2.上边加上黑线区域表示整个图片在左右/横向拉伸时候保证只有黑色区域的像素参与拉伸其他地方都是原样,具体效果可以参考右侧的预览;

    3,右侧加上黑线区域表示在上下拉伸时候整个图片中显示的文字等内容只在黑色像素区域内显示,其他地方不显示图片内的内容;

    4,底部加上黑线区域表示在左右拉伸时候整个图片中显示的文字等内容只在黑色像素区域内显示,其他地方不显示图片内的内容;

    因此可以总结为,左和上管理图片拉伸时候的图片自身拉伸变化的区域限制,而底部和右侧管理图片包裹的内容在拉伸变化时候显示区域的限制。

    好了,自己做一张就知道怎么弄了。经过简单修改一下之后,应用到demo里面的效果如下图所示(下面两图左右消息对话框是做了处理的,但下面的发送消息框左图没有处理,右图进行了9patch处理,正好可以做个对比~_~):

                                                                            Android studio下进行9patch图片的编辑_第3张图片Android studio下进行9patch图片的编辑_第4张图片


你可能感兴趣的:(Android studio下进行9patch图片的编辑)