.9.png图片属性

前言:

9 patch png 图片,扩展名为.9.png,是一个标准的PNG图像,它包括额外的1个像素的边界,通过对这个边界的描述来达到我们预期的拉伸效果。android引入这种png的扩展格式来解决同一图片在被拉伸后变形的问题,进一步为资源重用提供了优雅的解决方式。

工具:

要预览或者编辑9patch图片,就要用到android sdk中自带的draw9patch工具,该工具在android sdk 的 tools 目录下。

本文主要介绍9 patch图片中上下左右四个描边分别的作用:

这四个描边可以分为两类:

1)用来描述可拉伸的区域———————-由左和上描边决定;

2)用来描述内部间距的区域——————-由右和下描边决定;

实例:

下面来看几个例子,会对各个描边的作用有更直观的认识。

(1)无描边

下图是一张没有任何描边的png, 对于缩放,其实就是等价于image的scale效果。 可以明显的看到右侧的三张小图,四个边均有不同程度的变形;

QQ截图20141221191132

(2)左描边 和 上描边—–(定制可拉伸的区域)

只有左描边时,图片垂直方向上被如下图标注,被分为三部分,当图片被纵向拉伸时,会发现 1,3区域保持,2区域被拉伸;而当图片横向拉伸时,效果跟情况(1)是一样的。

QQ截图2014122223505677

只有上描边时,情况跟只有左描边类似,只不过是当图片被向拉伸时,如下图,同样有 1,3区域保持,2区域被拉伸的效果。

QQ截图20141223001731

当上描边和左描边同时存在时,也是我们在android中用的最多的情况,照旧先上个图看看:

QQ截图20141223002613

两个描边,把图片分为了9份,我想这就是9 patch 名称的由来吧o(∩_∩)o ,从效果中我们就可以看到,在横向纵向的拉伸过程中1,3,7,9始终保持不变,这也就正好保持了四个圆角在任意拉伸后不变形;2和8在纵向拉伸的时候保持;4,6在横向拉伸的时候保持;5 就是那个时刻准备着被拉伸的主角。

(3)右描边和下描边

这个其实是个可选的操作,这两个描边定制了拉伸效果之后内部间距的问题。这个效果在当把9patch图片用于layout或者textview等这些控件的背景的时候,才会显现出来。继续上图来说明问题。

QQ截图20141231000615

上面图中,标出了ABCD 四个长度,这是由右描边和下描边分割出来的,在把这张图片作为父控件背景的时候,子控件相对与父控件的上下左右padding分别对应的就是ABCD。

实例如下:

QQ截图20141231001212

这张途中标出的ABCD,就上图的ABCD 区域 一一对应,这样我们就多了一个直接通过9patch图片来设置padding了。完结。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值