常见分辨率 :
标屏 | 分辨率 | 宽屏 | 分辨率 |
---|---|---|---|
QVGA | 320×240 | WQVGA | 400×240 |
VGA | 640×480 | WVGA | 800×480 |
SVGA | 800×600 | WSVGA | 1024×600 |
XGA | 1024×768 | WXGA | 1280×720/1280×768/1280×800 |
XGA+ | 1152×864 | WXGA+ | 1366×768 |
SXGA | 1280×1024/1280×960 | WSXGA | 1440×900 |
SXGA+ | 1400×1050 | WSXGA+ | 1680×1050 |
UXGA | 1600×1200 | WUXGA | 1920×1200 |
QXGA | 2048×1536 | WQXGA | 2560×1600 |
常见名词解释:
英寸(in):屏幕的物理尺寸,每英寸等于2.54厘米。例如,形容手机屏幕大小,经常说,3.2(英)寸、3.5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是3.2英寸,表示手机的屏幕(可视区域)对角线长度是3.2*2.54 = 8.128厘米。
分辨率:屏幕中所有物理像素点数。如1920x1080,就表示宽方向有1920个像素,高方向有1080个像素,整个屏幕有2073600个像素。
密度(dpi,dots per inch;或PPI,pixels per inch):从英文顾名思义,就是每英寸的像素点数,数值越高当然显示越细腻。假如我们知道一部手机的分辨率是1080×1920,屏幕大小是5英寸,通过宽1080和高1920,根据勾股定理,我们得出对角线的像素数大约是2203,那么用 2203除以5就是此屏幕的密度了,计算结果是440。440dpi的屏幕已经相当细腻了。
同样的,如果分辨率是1024×768 屏是5寸 则它的密度就是256。如此看来,屏幕密度会存在很多值,而密度又是安卓屏幕将界面进行缩放显示的依据,那么安卓是如何适配这么多屏幕的呢?
通过具体设备的分辨率和尺寸算出的密度,如上面的440、256。我们可以叫做“实际密度”。而每部安卓手机屏幕都有一个初始的固定密度,这些数值是120、160、240、320、480,我们权且称为“系统密度(density)” 安卓对界面元素进行缩放的比例依据正是系统密度,在绘制界面的时候会通过density与dp进行换算得出正确的适配像素px。
px:即像素,1px代表屏幕上一个物理的像素点。px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同。
dp:这个是最常用但也最难理解的尺寸单位。它与我们之前介绍的“密度”密切相关,目前Android定义的系统像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi)、超超高(480dpi),它们对应的dp到px的系数分别为0.75、1、1.5、2和3,这个系数乘以dp长度就是像素数。例如界面上有一个长度为“80dp”的图片,那么它在240dpi的手机上实际显示为80x1.5=120px,在320dpi的手机上实际显示为80x2=160px。如果你拿这两部手机放在一起对比,会发现这个图片的物理尺寸“差不多”,这就是使用dp作为单位的效果。
dip:与dp完全相同,只是名字不同而已。在早期的Android版本里多使用dip,后来为了与sp统一就建议使用dp这个名字了。
sp:与缩放无关的抽象像素(Scale-independent Pixel)。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。
总结:文字的尺寸一律用sp单位,非文字的尺寸一律使用dp单位。例如textSize=”16sp”、layout_width=”60dp”;
最后,推荐一张Android UI设计参考图:Android Design Cheat Sheet