在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整缩放区域
的一种图片格式“.9.png
”。
这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚。
先看对比图:明显看出,普通png的4个角由于拉伸已经不清晰了,但是点9切图可以。
原图:
拉伸后:
如何制作
1、 android开发工具包里自带了draw9patch.bat,找到后双击运行(android-sdk-windows\tools\文件夹下);
2、 左边是操作区域,右边是各种拉伸后的预览区。在操作区域内,有上下左右四根线可以拉伸,用以控制图片内可缩放区域。
3、 调整后,保存,默认后缀名是.9.png,注意不要更改后缀名。
4、 保存后打开,可以发现有两条黑线,交叉的区域即是可缩放区域。
5、将该图复制到as里,打开,发现as对.9.png是有专门窗口的。其实跟draw9patch.bat一模一样。
6、给button设置背景,就出现文章开始处的效果了。
<Button
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="5dp"
android:background="@drawable/pt"
android:text="普通png" />
<Button
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="5dp"
android:background="@drawable/ptt"
android:text="点9切图" />
注意问题
1、设置了点9切图做button背景,却没有效果,甚至text也不显示。那么一般是图本身有问题。做点9切图要求,png最外围的一圈像素必须要么是纯黑色,要么是透明,一点点的半透明的像素都不可以有,比如说99%的黑色或者是1%的投影都不可以有;所以如果png本身有毛边,一般是切不好的。
2、文件的后缀名必须是.9.png,不能是.png或者是.9.png.png,这样的命名都会导致编译失败。
对于专业美工来讲,点9切图的用处还有很多。研发人员也大概了解一下,方便对美工切图提出准确要求。