Android设计分辨率

编辑
• 阅读 3195

基本知识

  • 像素:是屏幕上显示数据的最基本的点,单位为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关系,得到:
图二:
Android设计分辨率

  • 上图说明在在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...

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
android dp和px之间转换
publicclassDensityUtil{/根据手机的分辨率从dip的单位转成为px(像素)/publicstaticintdip2px(Contextcontext,floatdpValue){
Wesley13 Wesley13
3年前
PHP安全性防范方式
<h2SQL注入</h2<pSQL注入是一种恶意攻击,用户利用在表单字段输入SQL语句的方式来影响正常的SQL执行。</p<h4防范方式</h4<ul<li使用mysql\_real\_escape\_string(),或者addslashes()过滤数据</li<li手动检查每一数据是否为正确的数据类型</li<li使用
Wesley13 Wesley13
3年前
Android计量单位px,in,mm,pt,dp,dip,sp和获取屏幕尺寸与密度
Android计量单位px  :是屏幕的像素点in  :英寸mm:毫米pt  :磅,1/72英寸dp :一个基于density的抽象单
Wesley13 Wesley13
3年前
IOS所有手机的尺寸及其分辨率
iphone4的尺寸是3.5英寸,分辨率是960x640像素;iphone4s的尺寸是3.5英寸,分辨率是960x640像素;iphone5的尺寸是4英寸,分辨率是1136x640像素;iphone5s的尺寸是4英寸,分辨率是1136x640像素;iphone6,6s的尺寸是4.7英寸,分辨率是1334x750像素;iphon
Stella981 Stella981
3年前
ASMSupport教程4.8 生成逻辑运算操作
<p在java中有以下逻辑运算符:</p<ul<li&amp;&amp;:条件与</li<li||:条件或</li<li&amp;:布尔型的逻辑与</li<li|:布尔型的逻辑或</li<li^:布尔型的逻辑异或</li<li!:非操作</li</ul<p那么接下来我们将些段例子
Wesley13 Wesley13
3年前
NGUI 屏幕适配(2D UI)
博客内容基于NGUI.3.11.2,讲述NGUI2DUI。设备无关坐标以OpenGL为例,经过各种图形阶段(stage)后,几何形状最终被转换成像素显示在屏幕上。设备屏幕坐标以像素为单位,是设备相关的。不同设备分辨率不一样,即使同一设备,不同窗口的大小也不一样。在不关注具体设备的情况下绘制几何形状,则需要设备无关坐标系统。
Wesley13 Wesley13
3年前
HTML&CSS基础学习笔记1.29
像素和相对长度前面的html博文,我们提到过用属性width、height来设置图片的尺寸,它们的单元都是”px(像素)”。长度单位总结一下,目前比较常用到px(像素)、em、%百分比,要注意其实这三种单位都是相对单位。1、像素像素为什么是相对单位呢?因为像素指的是显示器上的小点(CSS规范中假设“90像素1英寸”)。实际情
Stella981 Stella981
3年前
Android屏幕大小适配问题解决
一、一些基本概念1、长度(真实长度):英寸、inch2、分辨率:density每英寸像素数 dpi(密度)3、像素:px4、dip的公式:px/dipdpi/160 所以dip类似于英寸、长度(dpdip,sp类似于dip)5、相对分辨率长px\宽px二、平时我们一些概念的混淆1、平时我们说手机的分辨率是3
Wesley13 Wesley13
3年前
HTML快捷写法大全
父子用\ \Ulli\3\<ul\    <li\</li\    <li\</li\    <li\</li\</ul\兄弟之间用,也可以省写\pspan\,\ul\<p\</p\<span
IT全栈视野 IT全栈视野
9个月前
全面剖析像素单位 px、vp、fp
一、像素单位pxpx是像素(Pixel)的缩写,是最常见的屏幕分辨率单位。它是一个绝对单位,表示屏幕上的一个物理像素点。例如,在一个分辨率为1920×1080的屏幕上,一个宽度为100px的元素,就会占据屏幕宽度的100/1920部分。优点:直观易懂,在不
美凌格栋栋酱 美凌格栋栋酱
4个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(