1

基本知识

  • 像素:是屏幕上显示数据的最基本的点,单位为px
  • 分辨率:手机屏幕的像素点数,分辨率为720*1280表示屏幕宽度上有720个像素,高度上有1280个像素
  • 密度:单位(英寸)内的像素数
  • 密度值:与密度对应的值,分实际密度和系统密度。实际密度根据屏幕的实际像素及大小计算得来;系统密度是系统设定的密度值。Android根据系统密度来处理缩放。
  • dp:Android开发使用的长度单位,在密度为160dpi时:1dp=1px
  • sp:Android开发使用的字体单位,在密度为160dpi且系统设置字体大小为正常大小时:1sp=1px
Android分辨率

众所周知,不同厂商不同型号,手机的像素分辨率和屏幕大小不可能相同(即实际密度不同)。正因如此,Android在
处理缩放时依据的是系统固有设定的密度值,而不是实际密度。

Android常用分辨率及其系统密度

图一:
Android常用分辨率及其系统密度
上图列出了Android常用的密度及密度值。“比例1”列出了整倍数情况下兼容所有密度的比值;“比例2”是设计师常用的比值(稍后会说明原因)。

设计

在UI设计当中,设计师不需要为每种密度单独设计,只需要在一种密度下设计好,然后按密度倍数导出切片即可。

设计分辨率

那应该选择在哪种密度下设计UI?不同密度下设计的UI,导出时又有什么不同么?
常用的设计密度参考“图一”中的“比例2”。

  • 因为在密度值为160dpi的情况下,Android缩放时,1dp=1px。

采用“比例2”来设计UI,能完美实现在导出160、320和480密度时,能以整数倍导出。
对“图一”稍作精简并加上px与dp关系,得到:
图二:
设计下的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的 切图。

PS_2017-10-30:新版Android开发中已支持SVG转Vector,所以在导出时只需要导出SVG然后转换为Android Vector XML即可。
在部分开发情况下,任不可避免使用到图片,所以需要根据情况作适当调整。
SVG转AndroidVectorXML
[1]. http://blog.csdn.net/megatron...
[2]. http://inloop.github.io/svg2a... (其他有些会有错误,此网站成功率高,有时候颜色会变成URL,自己修改下就可以)
[3]. http://www.jianshu.com/p/af62...


chadLi
55 声望2 粉丝