031android初级篇之【转】android 9png图片

9png格式是什么

在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”。这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚。
本文结合一些具体的例子来看下.9.png的具体用法。

普通的.png资源与.9.png的资源区别:

![Uploading 031_2_142350.png . . .]


031_1.png

普通的png资源就不多介绍了,可以明显看到.9.png的外围是有一些黑色的线条的,那这些线条是用来做什么的呢?我们来看下放大的图像:

031_2.png

放大后可以比较明显的看到上下左右分别有一个像素的黑色线段,这里分别标注了序号。简单来说,
序号1和2标识了可以拉伸的区域,
序号3和4标识了内容区域。
当设定了按钮实际应用的宽和高之后,横向会拉伸1区域的像素,纵向会拉伸2区域的像素。如下图:

031_3.png

拉伸的含义应该比较容易理解,但是内容区域的标注有什么意义呢?我们来看下图:

031_04.png

这里程序设置的文字垂直居中,水平居左的对齐方式。对齐方式是没有问题的,但是对于这种大圆角同时又有些不规则边框的的图形来说,错误的标注方式会让排版看起来很混乱。所以我们需要修正内容区域的线段位置和长度

031_05.png

把横向的内容区域缩短到圆角以内,纵向的内容区域控制在输入框的高度以内,这样文字就可以正常显示了。

这里还有一种特殊情况,就是本身是.9.png的资源,但是在修改过程中你希望这张.9.png不能被拉伸(在做皮肤的情况中有可能会遇到),那怎么办呢?只要把拉伸区域的点点在透明像素的地方就可以了,这样拉伸的时候会拉伸透明部分的像素,而不会拉伸图像本身。如下图:

031_06.png

大家可以看到拉伸区域的黑点是可以不连续的。

最外围的一圈像素必须要么是纯黑色,要么是透明,一点点的半透明的像素都不可以有,比如说99%的黑色或者是1%的投影都不可以有;

参考链接

  1. Android设计中的.9.png与Android Studio中的设置
  2. 如何使用draw9patch制作.9.png图片
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,090评论 25 709
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,712评论 0 17
  • 今天随手拿起《这些 都是你给我的爱》,本只是想随便翻翻,想到这两天学习的高倍速阅读法,于是透过橘子集中冥想进入集中...
    米粒2020阅读 2,801评论 0 0
  • 早想写写我的家人,可每每提笔,总想起冯艳老师的一句话:对家人,我永远扛不起摄像机。亲情是最亲近、最私密的情感,是身...
    方嘉一阅读 3,297评论 3 14
  • 我只是想狠命地努力一把,不去想结果,就是看看自己可不可以坚持整个过程,做一个理想中的自己。 这世上所有的励志,都是...
    蹄蹄九思阅读 1,514评论 0 0