【转载】Android设计中的.9.png

转载自:腾讯ISUX (http://isux.tencent.com/android-ui-9-png.html)

在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”。这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚。
本文结合一些具体的例子来看下.9.png的具体用法。

首先看下普通的.png资源与.9.png的资源区别:

普通的png资源就不多介绍了,可以明显看到.9.png的外围是有一些黑色的线条的,那这些线条是用来做什么的呢?我们来看下放大的图像:

放大后可以比较明显的看到上下左右分别有一个像素的黑色线段,这里分别标注了序号。简单来说,序号1和2标识了可以拉伸的区域,序号3和4标识了内容区域。当设定了按钮实际应用的宽和高之后,横向会拉伸1区域的像素,纵向会拉伸2区域的像素。如下图:

拉伸的含义应该比较容易理解,但是内容区域的标注有什么意义呢?我们来看下图:

这里程序设置的文字垂直居中,水平居左的对齐方式。对齐方式是没有问题的,但是对于这种大圆角同时又有些不规则边框的的图形来说,错误的标注方式会让排版看起来很混乱。所以我们需要修正内容区域的线段位置和长度。

把横向的内容区域缩短到圆角以内,纵向的内容区域控制在输入框的高度以内,这样文字就可以正常显示了。

这里还有一种特殊情况,就是本身是.9.png的资源,但是在修改过程中你希望这张.9.png不能被拉伸(在做皮肤的情况中有可能会遇到),那怎么办呢?只要把拉伸区域的点点在透明像素的地方就可以了,这样拉伸的时候会拉伸透明部分的像素,而不会拉伸图像本身。如下图:

大家可以看到拉伸区域的黑点是可以不连续的。

说了半天.9.png的用法,那.9.png如何输出呢?有很多种方式可以输出.9.png,比如说用draw9patch.bat这个工具,或者简单一点,用photoshop直接输出。输出的方式是先输出普通的png资源,然后扩大画布大小,上下左右各空出一个像素,再用一个像素的铅笔工具(颜色选择纯黑色),上下左右分别画点就可以了,保存的时候注意把后缀修改为.9.png。
有两点需要特别注意下:
1.最外围的一圈像素必须要么是纯黑色,要么是透明,一点点的半透明的像素都不可以有,比如说99%的黑色或者是1%的投影都不可以有;
2.文件的后缀名必须是.9.png,不能是.png或者是.9.png.png,这样的命名都会导致编译失败。

时间: 2024-08-06 03:46:25

【转载】Android设计中的.9.png的相关文章

转载《设计中的设计》读后感

<设计中的设计>读后感 当我拿到这本书时第一想法就是把他认真仔细的看一遍,去和大师握手,一起去感悟设计的博大,一起倾听世界.    这本书是日本设计大师'原研哉'的著作,他为我们写了本相当于是大众的读物,让每个人都能看,都能了解设计这个门路怎么去走,怎么去走好着条设计之路?大师还邀请了一些对设计感兴趣的设计师一起观望设计世界.    在这本书里我明白了一个道理,"只要脚踏实地,就能走好设计这条路".原研哉曾说过这样一句话'当你因为读完这本观念设计书而感到越来越不懂设计时,这

Android设计中的.9.png图片

.9.png是一种能够自己定义拉伸特定区域的图片格式. 简书:Android设计中的.9.png图片 在Android的UI设计开发中,非常多控件须要适配不同的手机分辨率进行拉伸或者压缩,这样就出现了能够随意调整大小的一种图片格式".9.png".这样的图片是用于Android开发的一种特殊的图片格式,它能够指定特定的区域进行拉伸而不失真.同一时候能够指定前景内容的显示区域.即.9.png图片的用处能够概括为以下两点: - .9.png图片在图片拉伸的时候特定的区域不会发生图片失真.

Android设计中的.9.png与Anadroid Studio中的设置

在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式".9.png".这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚.本文结合一些具体的例子来看下.9.png的具体用法. 首先看下普通的.png资源与.9.png的资源区别: 普通的png资源就不多介绍了,可以明显看到.9.png的外围是有

Android设计中的尺寸问题

Android把屏幕大小分成四种:small, normal, large, xlarge; 屏幕密度分成:low(ldpi), medium(mdpi), high(hdpi), extra high(xhdpi):各个屏幕密度之间的关系例如以下: 密度名称 密度的參考值(dpi) 关系 相应的屏幕分辨率 xxxhdpi 640dpi xxhdpi 480dpi xhdpi 320dpi 2.0 hdpi 240dpi 1.5 800*480 mdpi 160dpi 1.0 (基准) 480*

&lt;转载&gt;网页设计中的F式布局

地址:http://www.uisdc.com/understanding-the-f-layout-in-web-design 网页设计中的F式布局 今天我们来重点介绍网页设计中的F式布局.传统的布局方式,依赖布置视觉线索,“控制”用户的视觉路径,相较之下,F式布局更加自然,更加友好.本文将讲述一些F式布局的规则.原理以及设计方法. 推荐阅读:<极好的交互设计:19个创意网页欣赏><拒绝平庸:优秀WEB登录页面设计><超赞!网页设计中的数学运用> F式布局简介 F式布

[转载]android工程中引入另一个工程中的资源

原文地址:android工程中引入另一个工程中的资源作者:87fayuan 在项目中可能遇到这样的问题:项目过大,于是细分为N个子模块来做,每个模块都是不同的工程.涉及到activity传数据时,可以用intent等方法来解决.但是如果涉及到要共用资源,而又不能像传统java程序那样打成jar包,比如程序中有大量自定义view,而这些自定义view都引用了的一些资源文件时,就可以用这个方法. 工程一:MyViews 代码如下: public class MyTextView extends Te

Android设计中的.9.png

在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”.这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚.本文结合一些具体的例子来看下.9.png的具体用法. 首先看下普通的.png资源与.9.png的资源区别: 普通的png资源就不多介绍了,可以明显看到.9.png的外围是有一些黑色的

Android 设计中的.9.png

在 Android 的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”.这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚.本文结合一些具体的例子来看下.9.png的具体用法. 首先看下普通的.png资源与.9.png的资源区别: 普通的 png 资源就不多介绍了,可以明显看到.9.png的外围是有一

Android开发中 .9.png格式图形设计:

Android .9.png设计 宿舍大神在做android项目,有幸得知.9.png的图形格式. 不知道大家是否注意过聊天气泡和锁屏时随着你文字的增多和你的滑动而跟着变化并且分辨率没有变低的图形?是否好奇过它是怎么实现的? 该图片格式应用于Android设计中需要根据文字多少或其他条件而可以伸缩的图形外框,(应用于聊天气泡和滑动锁屏等). 而设计这种格式的不是ps等图片.处理工具而是Android-sdk里自带的draw9path.bat工具.  先找到自己电脑上的D:\you yong\El