作者punk86862001 (赵MAN)
看板AndroidDev
标题[分享] 制作 9-patch 图片来符合不同尺寸的图形
时间Fri Jan 17 23:58:10 2014
有图网志有排版好读版
http://goo.gl/OadQXS
------
前言
身为一个 Android Developer,会一点修图技巧也是蛮合理的
假设你今天想要做一个可以在黑板上画画的应用程式
而你从一个不太懂 Android 设计的设计师那拿到了一个正方形的 png 图档
这时候如果你直接套用图片背景在 App 的 root view 上,
就会发生如下的惨状:
1. 图形四边的圆角严重失真
2. 四边的边缘宽度也不一样
3. 粉笔还变胖了呢!
这个时候你可以选择回去干谯设计师,叫她再生一张可以用的图出来
这样子虽然可以达到你的目的,套用 9-patch 的 png 档得到如下右图的效果
但也因此你的设计师开始抱怨工程师很难沟通
这样有损我们善良清新的工程师形象....
所以今天要来简单学一下制作 9-path 图片的方法!
使用 9-patch 的图片不论在直的或是横的显示模式图形都可以正常显示
使用 draw9patch.bat
其实制作 9-patch 图档的工具就藏在 Android 提供的 sdk 底下
路径是 sdk/tools/draw9patch.bat
开启这个工具以後,点选 File > Open 9-patch 来新增图片
接着我们可以在左边以及上面各画一条黑线来表示我们希望此图片可以延展的区域
如下右图所示,图中两个红色框框交集的部分,就是图片可以延展的区域
而为了不让图片中的粉笔被延展,交集的区域不要选到粉笔
同样地我们也可以在右边跟下面各画一条黑线,这个部分是 Optional 的
而这两条黑线所形成的区域就是你希望文字在这张图片上面显示的范围
当你套用此图片在 Button 的背景时,文字就会座落在你想要的范围
完成编辑以後,点选 File > Save 9-patch 来存档
他会自己生成 <档名>.9.png ,记得不要自行把 .9 删掉,否则可能会有错误!
总结
其实我一直在考虑要不要写这篇
有点担心这个大家都知道了就不想看了QQ
总之希望大家多少会一点这样子的技巧
让自己的 App 在许多小细节上能够处理地更好!谢谢!
参考资料:
1. Draw 9-patch
http://developer.android.com/tools/help/draw9patch.html
2. 【Android】9-patch图片以及例子说明
http://www.cnblogs.com/Amandaliu/archive/2013/04/26/3045286.html
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.224.186.221
1F:推 tga123:我之前自己摸好久= =才知道怎麽弄Orz後来我朋友有给我这个 01/18 00:08
3F:→ punk86862001:感谢分享!这个不错可以直接生成不同解析度的图档! 01/18 00:14
4F:推 nonebelieve:推推 01/18 00:35
5F:推 redok:推~ 01/18 02:00
6F:推 pkmilk:推 01/18 10:29
7F:推 tangblack:推 01/19 16:14