欢迎来到天天文库
浏览记录
ID:17848497
大小:683.10 KB
页数:12页
时间:2018-09-07
《android界面设计中的.9.png使用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Android界面设计中的.9.png的使用技巧 在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”。这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚。 本文结合一些具体的例子来看下.9.png的具体用法。 首先看下普通的.png资源与.9.png的资源区别: 普通的png资源就不多介绍了,可以明显看到.9.png的外围是有一些黑色
2、的线条的,那这些线条是用来做什么的呢?我们来看下放大的图像: 放大后可以比较明显的看到上下左右分别有一个像素的黑色线段,这里分别标注了序号。简单来说,序号1和2标识了可以拉伸的区域,序号3和4标识了内容区域。当设定了按钮实际应用的宽和高之后,横向会拉伸1区域的像素,纵向会拉伸2区域的像素。如下图: 拉伸的含义应该比较容易理解,但是内容区域的标注有什么意义呢?我们来看下图: 这里程序设置的文字垂直居中,水平居左的对齐方式。对齐方式是没有问题的,但是对于这种大圆角同时又有些不规则边框的图形来说,错误的标注方式会让排版看起来很混乱。所以我们需要修正内容区
3、域的线段位置和长度。 把横向的内容区域缩短到圆角以内,纵向的内容区域控制在输入框的高度以内,这样文字就可以正常显示了。这里还有一种特殊情况,就是本身是.9.png的资源,但是在修改过程中你希望这张.9.png不能被拉伸(在做皮肤的情况中有可能会遇到),那怎么办呢?只要把拉伸区域的点点在透明像素的地方就可以了,这样拉伸的时候会拉伸透明部分的像素,而不会拉伸图像本身。如下图: 大家可以看到拉伸区域的黑点是可以不连续的。说了半天.9.png的用法,那.9.png如何输出呢?有很多种方式可以输出.9.png,比如说用draw9patch.bat这个工具,或
4、者简单一点,用photoshop直接输出。输出的方式是先输出普通的png资源,然后扩大画布大小,上下左右各空出一个像素,再用一个像素的铅笔工具(颜色选择纯黑色),上下左右分别画点就可以了,保存的时候注意把后缀修改为.9.png。有两点需要特别注意下: 1.最外围的一圈像素必须要么是纯黑色,要么是透明,一点点的半透明的像素都不可以有,比如说99%的黑色或者是1%的投影都不可以有; 2.文件的后缀名必须是.9.png,不能是.png或者是.9.png.png,这样的命名都会导致编译失败。“点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文
5、件扩展名为:.9.png 智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向,在界面改变方向后,界面上的图形会因为长宽的变化而产生拉伸,造成图形的失真变形。 我们都知道android平台有多种不同的分辨率,很多控件的切图文件在被放大拉伸后,边角会模糊失真。 OK,在android平台下使用点九PNG技术,可以将图片横向和纵向同时进行拉伸,以实现在多分辨率下的完美显示效果。 【普通拉伸和点九拉伸效果对比】 对比很明显,使用点九后,仍能保留图像的渐变质感,和圆角的精细度。 从中我们也可以理解为
6、什么叫“点九PNG”,其实相当于把一张png图分成了9个部分(九宫格),分别为4个角,4条边,以及一个中间区域,4个角是不做拉升的,所以还能一直保持圆角的清晰状态,而2条水平边和垂直边分别只做水平和垂直拉伸,所以不会出现边会被拉粗的情况,只有中间用黑线指定的区域做拉伸。结果是图片不会走样 二.“点九”的制作方法 方法1:使用“draw9patch”工具绘制,流程如下 1.安装工具 首先你需要给自己的电脑安装上java于系统的默认目录下。没有安装java的同学可以在百度搜索:jdk-6u20-windows-i586,安装包大小80M左右。 然后
7、使用andriod模拟器—android-sdk-windows,打开SDK/tools目录下的“draw9patch.bat”文件,出现载入窗口: 2.导入并编辑 将png图片拖拽到该窗口中 如下图,自动进入编辑界面。图中介绍了每个区域的内容及功能注释。 预览右侧的视图发现,图片的边缘处于普通拉伸状态。 现在我们在图片边缘点击左键,绘制出黑线,即图片需要被拉伸的部分。如下图,对4条黑线做了注释。 如果失误多绘的部分,可按住shift键的同时点击鼠标左键擦除)。 如图所见,三种拉伸结果均已完美显示,已实现我们想要的拉伸效果,假设这是一个有显
8、示文字的窗体,那么文字显示的区域,程序也会控制在黑线对应范围。 以下这些图片,
此文档下载收益归作者所有