android nine patch图片

传统UI开发中,如果背景的大小不一样,一般需要为每种大小都制作一张图片,这在button中尤为明显。当然我们也可以一小块一小块水平重复的画,也可以垂直的话。在android中专门有一种叫nine patch图片(以 9.png结尾)来解决背景大小不一样时,只用一张背景图片。

     用自带的tools/draw9patch.bat 打开一张png图片,我们可以在png图片最外面的空格画一个像素宽的黑线。左边是编辑区,在左边的图中,左边黑线的高度决定了垂直拉升时的扩展区域,也即当垂直拉伸时,只有这个区域的图片会被拉伸。同理图片上边的黑线长度决定了水平拉升时的扩展区域。右边区域是拉升的效果图,从上之下分别为垂直拉伸,水平拉伸,以及两个方向的拉升。该工具提供了所见即所得的nine patch png编辑方式 。

 android nine patch图片_第1张图片

把编辑后的png保存为 9.png到工程目录的res/drawable目录下,如果你的9.png中没有黑线,那么eclipse是会报错的。

效果图如下。从中我们也可以理解为什么叫 nine patch,相当于把一张png图分成了9个部分,分别为4个角,4条边,以及一个中间区域,4个角是不做拉升的,所以还能一直保持圆角的状态,而2条水平边和垂直边分别只做水平和垂直拉伸,所以不会出现边会被拉粗的情况,只有中间用黑线指定的区域做拉伸。结果是图片不会走样

 

注:画图片中水平和垂直方向的2跟黑色线,只需选中位置,按住鼠标左键,滑动即可。

android nine patch图片_第2张图片

 

 

上图中,1,2,3,4四个区域是不会随着图片的拉伸而拉伸的,只有其他区域会拉伸。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lijiecong/archive/2009/11/05/4774327.aspx

你可能感兴趣的:(android nine patch图片)