1.背景自适应且不失真问题的存在
制作自适应背景图片是 UI 开发的一个广泛问题,也是界面设计师渴望解决的问题,我
相信我们彼此都深有体会。
比如 ,列表的背景图一定, 但是列表的高度随着列表数据项会发生变化; 标题栏的背景,
无论横屏还是竖屏,高分辨率还是低分辨率,都能自动填充满,而且不失真等等背景问题。
根据以往的经验,我们一般采用先切图后拼凑的做法,这种做法本来我想在这里和大
家介绍一下,其实有的时候还是很有用的,但是说起来会比较麻烦,就不说这个非重点了,
略去,如果大家真的要介绍,在回复中说明,我再考虑一下。
Android 针对这种情况,专门制作了一种 .9.PNG 格式来解决这个问题。
2.9.PNG 格式。
我不想在这里过多的讨论 PNG 格式的定义问题。 但是 .9.PNG 确实是标准的 PNG 格式,
只是在最外面一圈额外增加 1px 的边框,这个 1px 的边框就是用来定义图片中可扩展的和
静态不变的区域。特别说明, left 和 top 边框中交叉部分是可拉伸部分,未选中部分是静态
区域部分。 right 和 bottom 边框中交叉部分则是内容部分 (变相的相当于定义看一个内边距,
神似 padding 功能,后面我会单独介绍一下),这个参数是可选的 , 如下图。
在 Android 中
以 9.PNG 格式的图片未背景, 则能够自定义拉伸而不失真, 比如系统的 Button 就是一个典
型的例子。
其实呢,无论是 left 和 top ,还是 right 和 bottom 都是把图片分成 9 块 (边角四块是不
能缩放的,其他的四块则是允许缩放的 ),所以叫做 9.PNG 。
3. 使用 Draw9Patch.jar 制作 9.PNG 图片之定义拉伸区域。
前面已经了解到 9.PNG 格式的工作方式,下面我们使用谷歌提供的 Draw9Patch( 运行
评论0
最新资源