基本知识
像素:是屏幕上显示数据的最基本的点,单位为px
分辨率:手机屏幕的像素点数,分辨率为720*1280表示屏幕宽度上有720个像素,高度上有1280个像素
密度:单位(英寸)内的像素数
密度值:与密度对应的值,分实际密度和系统密度。实际密度根据屏幕的实际像素及大小计算得来;系统密度是系统设定的密度值。Android根据系统密度来处理缩放。
dp:Android开发使用的长度单位,在密度为160dpi时:1dp=1px
sp:Android开发使用的字体单位,在密度为160dpi且系统设置字体大小为正常大小时:1sp=1px
Android分辨率众所周知,不同厂商不同型号,手机的像素分辨率和屏幕大小不可能相同(即实际密度不同)。正因如此,Android在
处理缩放时依据的是系统固有设定的密度值,而不是实际密度。
Android常用分辨率及其系统密度图一:
上图列出了Android常用的密度及密度值。“比例1”列出了整倍数情况下兼容所有密度的比值;“比例2”是设计师常用的比值(稍后会说明原因)。
设计在UI设计当中,设计师不需要为每种密度单独设计,只需要在一种密度下设计好,然后按密度倍数导出切片即可。
设计分辨率那应该选择在哪种密度下设计UI?不同密度下设计的UI,导出时又有什么不同么?
常用的设计密度参考“图一”中的“比例2”。
因为在密度值为160dpi的情况下,Android缩放时,1dp=1px。
采用“比例2”来设计UI,能完美实现在导出160、320和480密度时,能以整数倍导出。
对“图一”稍作精简并加上px与dp关系,得到:
图二:
上图说明在在dp相同时,px按密度比值倍数变化——这便是Android将dp缩放为px的原理,也是我们设计的原理。
切图也就是说,设计师在设计一个 1x1px大小的图片,并导出用于 1x(1x1px)、2x(2x2px)、3x(3x3px) 三种密度的图片时。
密度为160dpi、320dpi和480dpi的屏幕会分别显示出 1x1px、2x2px和3x3px大小的图片。
字体系统设置正常大小的字体缩放适用同样原理
常用的设计资源分辨率通常,设计师在设计Android资源时,资源大小为360x640px,然后设计导出 1x、2x和3x的 切图。