屏幕分辨率
为了适应手机分辨率, Android程序有以下几种尺寸的布局分别对应屏幕的分辨率。
ldpi:QVGA (240x320) ,mdpi:HVGA (320x480) ,hdpi:WVGA (480x800),FWVGA (480x854) ,xhdpi:至少960*720,xxhdpi:1280×720
屏幕分辨率相关的几个数据:
- 点密度(dpi:dot per inch),每英寸的点数
常用的有:显示器72,96;印刷:300,600,1200
- 像素密度(pixel per inch),每英寸像素数
ppi = SQUARE(像素长^2 * 像素宽^2) / 屏幕对角线英寸数 = 对角线像素数 / 对角线英寸数
- 安卓尺寸定义为屏幕像素密度值为160ppi时的1px大小
1dp = (ppi / 160)
字体大小
在不同的分辨率上如何使用合适的字体是设计工作的一个大问题,如何保证在不同分辨率手机上都有近似的体验。
字号规范在Android中以sp为单位,字体大小设置为标准设置时:
1sp = 1dp sp = ppi / 160
如何在Photoshop中使用pt为字体单位进行设计
设计工具Photoshop默认的单位为pt,也就是1/72英寸:
1pt = 1/72英寸 pt = dpi / 72
我们再使用Photoshop中创建文档时将1pt和1sp等价,那么这里需要的文档dpi可以根据手机的dpi记算出来。
设:1pt = 1sp ppi / 160 = dpi / 72 dpi = ppi / 160 * 72
例如:华为畅享7s的分辨率为2160*1080,尺寸为5.65英寸,ppi为428,那么以这个手机为基础建立的设计文档的dpi就可以算出来:
dpi = 428 / 160 * 72 = 192.6
而安卓中默认的字体大小为14sp,就可以以14pt为基础字体进行设计,图片和其它部件的尺寸还是使用设备实际的分辨率。
手机屏幕适配问题
前面解决了设计时的字体标准问题,不同手机对于标准字体的显示上解决了一致性,可是在不同分辨率上以px为单位的图片需要适配不同分辨率的屏幕。。。,未完待续,。。。