说说Android设备 切图量dp的问题
Android设备切图、量dp的问题,目前转到做android应用后,问题比较集中,开发有的时候也说不清楚,根据3366 H5Game切图经验和之前整理Google换算dp的理解,我给大家总结一下方法。
1. 说说Android手机分辨率不规律中的规律
Android虽然手机物理尺寸大小不一,dpi(每英寸像素点)也不一样,但是每个尺寸宽度的像素数量是有规律的,从老款到最新的分别是:160px 240px 320px 480px 640px 720px等,大家可以自己看看主流android分辨率的宽度的分辨率是否这样的,上图王道。
有人会说,手机的高度上的像素会出现854px这样奇葩的数字,但是没关系,手机是纵向上无限延生的,纵向上奇葩的像素对整体没有任何影响。
android的宽度还是很有规律的,由于历史原因,android第一款手机屏幕dpi是160dpi的,所以后面android 就以160dpi为基准了,后面屏幕解析度越来越高,就有240pdi,甚至324dpi的(再高就没有价值了,因为这个值差不多已经达到正常人的视力极限了)
2.怎么设计、切图,量dp呢?
这可能是大家最关心的事情了,设计师总喜欢按照一个主流机型去分辨率去设计,例如卯卯设计师就用小米2s手机为基准去设计,按照传统习惯,它会查看手机的分辨率720*1280去做,做完后给到开发,问题来了,这个在电脑上怎么量的px,怎么转化成程序想要的dp呢?
2.1 最简单的不需要任何换算的方法,(减少设计或开发的工作量)
以小米2S手机为例,你查一下它的几个参数。
· 屏幕分辨率是720*1280,这个参数设计师可以拿去做设计了。
· 屏幕的物理尺寸:5.35cm*9.52cm,这个是你用来量dp。
· 量dp前,把你的720*1280的效果图按照小米2s屏幕物理尺寸和160dpi基准的解析度去缩放。如下图。
·
· 缩放好后,你在photoshop(或者markman)中去量,这样你在电脑上量的px就等于你要给开发的dp啦。
· 注意一个问题:由于测量工具或者人为因素导致量出会出现11px、14px、17px、36px,你就在不影响视觉的前提下最好转换成10px、15px、15px、35px等5或10的倍数吧,这样设计和开发后续工作都会简单好多的。
2.2 公式换算一下的方法
· 你用实际的效果图去量,例如小米2s,屏幕分辩率为720*1280,你就按照这个效果量,量出来结果假设为X。
· 你再去查一下参考对象:小米2S的屏幕dpi是多少,应该是324dpi。
· 程序用一个公式去换算成dp,dp/X=160/dpi(参考手机的dpi),那么dp=160X/dpi,X是你按照效果图量的px,dpi是你参照手机的dpi,160是一个android基准常数。
3.dp的一些问题
· 不同尺寸大小的手机,同样dp在不同手机上显示的大小,可能不一样,这是正常现象,不要大惊小怪。
· 这是我个人理解android 量dp的经验,如果有不对的地方或者有更好的方法,欢迎探讨,本人rtx:lauxxu
参考文献:http://www.zhihu.com/question/20697111