刚接触移动应用的界面设计,最先跳入脑海的疑问是:画布尺寸设计多大(特别是Android)、图标和字体大小怎么定、需要设计多套设计稿么、如何切图以配合开发的实现?

本篇将结合iOS和android官方的设计规范、搜集的资料以及工作中的摸索,来分享移动应用界面设计中的尺寸规范等问题,希望能给移动端的新手设计师些许指引。若有不当之处,欢迎斧正。

一、android篇

1、android分辨率

Android的多分辨率,一向是设计师和开发者非常头疼的事儿。尽管如此,对于多分辨造成的复杂问题,也是大家要优先解决的。Android支持多种不同的dpi模式:ldpi 、mdpi 、hdpi 、xhdpi 、xxhdpi 、xxxhdpi

注意,ppi、dpi 是密度单位,不是度量单位 :

ppi (pixels per inch):图像分辨率 (在图像中,每英寸所包含的像素数目)

dpi (dots per inch): 打印分辨率 (每英寸所能打印的点数,即打印精度)

dpi主要应用于输出,重点是打印设备上;ppi对于设计师应该比较熟悉,photoshop画布的分辨率常设置为72像素/英寸,这个单位其实就是ppi 。尽管概念不同,但是对于移动设备的显示屏,可以看作ppi=dpi 。

ppi的运算方式是:PPI = √(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数。即:长、宽各自平方之和的开方,再除以屏幕对角线的英寸数。

以iphone5为例,其ppi=√(1136px² + 640px²)/4 in=326ppi(视网膜Retina屏)

对于android手机,一个不确切的分法是,720 x 1280 的手机很可能接近 320 dpi (xhdpi模式),480 x 800 的手机很可能接近 240 dpi (hdpi模式),而320 x 480 的手机则很接近 160 dpi(mdpi模式)。

来自友盟指数2014年3月份的数据(戳这里看最新数据):

480 x 800的手机占比最高为31.9%,720 x 1280的手机占比为16.5%位居第二,而240 x 320的手机占比最少为1.0% 。xxdhpi模式的高分辨率1080 x 1920手机占比也越来越高,目前为6.1% 。

2、单位换算方法

android开发中,文字大小的单位是sp,非文字的尺寸单位用dp,但是我们在设计稿用的单位是px。这些单位如何换算,是设计师、开发者需要了解的关键。

dp:Density-independent pixels,以160PPI屏幕为标准,则1dp=1px。dp和px的换算公式 :dp*ppi/160 = px。对于320ppi的屏幕,1dp x 320ppi/160 = 2px。

sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。sp 与 px 的换算公式:sp*ppi/160 = px。对于320ppi的屏幕,1sp x 320ppi/160 = 2px。

简单理解的话,px(像素)是我们UI设计师在PS里使用的,同时也是手机屏幕上所显示的,dp是开发写layout的时候使用的尺寸单位。

为什么要把sp和dp代替px?原因是他们不会因为ppi的变化而变化,在相同物理尺寸和不同ppi下,他们呈现的高度大小是相同。也就是说更接近物理呈现,而px则不行。

根据单位换算方法,可总结出:

当运行在mdpi下时,1dp=1px :也就是说设计师在PS里定义一个item高48px,开发就会定义该item高48dp ;

当运行在hdpi模式下时,1dp=1.5px :也就是说设计师在PS里定义一个item高72px,开发就会定义该item高48dp ;

当运行在xhdpi模式下时,1dp=2px :也就是说设计师在PS里定义一个item高96px,开发就会定义该item高48dp ;

当你的app需要适配多个dpi模式的时候,请参考图1的比例进行换算 。

3、设计稿基本元素的尺寸设置

为了适应多分辨率的手机,理想的方式是为每种分辨率做一套设计稿,包括所用到的icon、设计稿标注等。但在实际开发中,这种方法耗时耗力。所以通常会选择折中的方法。

方法一:在标准基础上(比如xhdpi)开始,然后放大或缩小,以适应到其他尺寸。不足之处是,对于更高分辨率的手机,图标被放大后会导致质量不高。

方法二:以最高分辨率为基准设计,然后缩小适应到所需的小分辨率上。缺点是,图标等若都最大尺寸,加载时速度慢且耗费流量较多,对于小分辨率的用户也不够好。

结合友盟的分辨率占比数据、也为了方便换算到android开发中的尺寸单位,推荐设计稿的画布尺寸选用 720X1280 ,分辨率仍旧为72ppi(像素/英寸)。

在android规范中对于导航栏、工具栏等的尺寸没有明确的规定。但根据48dp原则,以及一些主流的android应用的截图分析,总结一下尺寸要求:

状态栏高度:50 px

导航栏、操作栏高度:96 px=48dp x 2

主菜单栏高度:96 px

内容区域高度:1038 px (1280-50-96-96=1038)

Android最近出的手机都几乎去掉了实体键,把功能键移到了屏幕中,高度也和菜单栏一样为:96 px

4、图标和字体大小(来自官方规范文档)

a、启动图标(home页或app列表页)

整体大小为48 x 48 dp

b、操作栏图标,代表用户在app中可以使用到的最重要的图标

整体大小为32 x 32 dp ,图形实际区域为 24 x 24 dp

c、小图标/场景图标,提供操作或特定项目的状态。

比如gmail app的星型标记、一些内容展开收起用到的向下向上的图标等。整体大小为16 x 16 dp ,图形实际区域为 12 x 12 dp 。

d、通知图标

如果app有通知,要提供一个有新通知时显示在状态栏的通知图标。整体大小为24 x 24 dp ,图形实际区域为 22 x 22 dp 。

注:android规范提供的尺寸单位是dp,若设计稿尺寸设为720 x 1280 ,图标大小需在规范要求的尺寸数字上乘以2。比如操作栏图标32 x 32 dp ,则设计稿上应该是64 x 64 px 。

e、字体大小

Android规范中的要求如下:

前面提到Android开发中的字号单位是sp,而换算关系是 sp*ppi/160 = px 。所以720 x 1280尺寸的设计稿上,字体大小可选择为 24px 、28px 、32px 、36px ,主要根据文字的重要程度来选择,特殊情况下也可能选择更大或更小的字体。

f、其他尺寸要求

通常把48dp作为可触摸的UI元件的标准。

为什么要用48dp呢?一般来说,48dp转化为一个物理尺寸约9毫米。通常建议目标大小为7-10毫米,以方便用户手指能准确并且舒适触摸目标区域。

如果你设计的元素高和宽至少48dp,你就可以保证:

(1)触摸目标绝不会比建议的最低目标(7mm)小,无论在什么屏幕上显示。

(2)在整体信息密度和触摸目标大小之间取得了一个很好的平衡。

另外,每个UI元素之间的空白通常是8dp 。

5、一点疑问供探讨

在720 x 1280 px 的设计稿上,有两个按钮(比如登录、注册)并排一行放置,尺寸均为320 x 80 px ,换算为android开发单位就是 160 x 40 dp 。

根据前面的计算方式,如果显示在 480 x 800的手机上,反过来换算为px尺寸就是 240 x 60 px ,此时两个按钮排放在一行,刚好是480px=屏幕横向尺寸,铺满了整行,显然显示效果并不合适。

如果遇到这种情况,如何做呢?咨询android开发工程师,得到的答案是可能需要做自适应处理,不过目前他们都是写固定的dp值。所以我想设计师是否也需要考虑——在基准分辨率下设置的尺寸换算在其他分辨率下,是否也能优雅显示?

二、iOS篇

1、分辨率

iPhone 界面尺寸:320×480、640×960、640×1136

iPad 界面尺寸:1024×768、2048×1536

(以上单位都是像素,至于分辨率一般网页UI和移动UI基本上都只要 72 ppi)

2、单位换算px、pt

这里需要先区分pt、px,pt(磅值)是物理长度单位,指的是72分之一英寸。手机上看来同一大小的字磅值是一样的,但是换算成不同分辨率手机的字号px值不一样。(px=pt*ppi/72)

iPhone在出retina屏(也就是4S)之前的屏幕像素是320x480px,屏幕密度是163ppi,4S的屏幕像素是640x960px,屏幕密度是326ppi,翻了一倍。iPhone5的ppi没有变化,兼容性方面要增加类似首屏画面等程序上的判断。

在iPhone界面上元素的定位、尺寸是通过一个单位point,而非px,屏幕上固定有320x480pt,retina屏两倍的分辨率改变的只是pt和px之间的比例而已,这样就能实现不改变程序,只上传两套图片就兼容两个分辨率。

在设计的时候并不是每个尺寸都要做一套,尺寸按自己的手机尺寸来设计,比较方便预览效果,一般用 640×960 或者 640×1136 的尺寸设计。其中设计稿的画布分辨率设为默认的72ppi(此时1px=1pt ),所以设计师可以统一采用px为单位。

开发拿到设计稿时,将上面标注的以px为单位的字号大小、图像尺寸除以2,就是非retina屏上的pt值,这样在retina屏上也可以根据此pt值换算对应的px大小,以确保不同的分辨率下有合适的效果。

3、基本元素的尺寸设置

iPhone的APP界面一般由四个元素组成,分别是:状态栏、导航栏、主菜单栏以及中间的内容区域。

这里取用 640×960 的尺寸设计,那我们就说说在这个尺寸下这些元素的尺寸:

状态栏:就是我们经常说的信号、运营商、电量等显示手机状态的区域,其高度为:40 px

导航栏:显示当前界面的名称,包含相应的功能或者页面间跳转的按钮,其高度为:88 px

主菜单栏:类似于页面的主菜单,提供整个应用的分类内容的快速跳转,其高度为:98 px

内容区域:展示应用提供的相应内容,整个应用中布局变更最为频繁的,其高度为:734 px=960-40-88-98

以上尺寸适用于 iPhone 4、4S,iPhone5/5s 的 640×11136 的尺寸,其实就是中间的内容区域高度增加到:910 px,其他尺寸也同上。

4、常用图像、图标大小(来自官方规范文档)

单位:像素

5、字体大小

iOS交互设计规范文档上,对字体大小没有做严格的数值规定,只提供了一些指导原则:

单位:点pt

– 即便用户选择了最小文字大小,文字也不应小于 22 点。作为对照,正文样式在大字号下使用 34 点字体大小作为默认文字大小设置。

– 通常来说,每一档文字大小设置的字体大小和行间距的差异是 2 点。例外情况是两个标题样式,在最小、小和中等设置时都使用相同字体大小、行间距和字间距。

– 在最小的三种文字大小中,字间距相对宽阔;在最大的三种文字大小中,字间距相对紧密。

– 标题和正文样式使用一样的字体大小。为了将其和正文样式区分,标题样式使用加粗效果。

– 导航控制器中的文字使用和大号的正文样式文字大小(明确来说,是 34 点)。

– 文本通常使用常规体和中等大小,而不是用细体和粗体。

百度用户体验做过的一个小调查:

单位:像素px

还有个方法就是找你觉得好的APP应用,手机截图后放进PS自己对比调节字体大小。

三、如果android、iOS同时开发,设计稿尺寸设置多大呢?

可采用iPhone的尺寸 640 x 960 px设计,用于Android开发时,将其分辨率看作320ppi(xhdpi模式),再采用上文的方法进行换算、设置尺寸。

【附】原文来自jinjuan.me/appdesign-sizesetting/

android 界面大小设置在哪里,移动应用界面设计的尺寸设置及规范相关推荐

  1. axure android尺寸,移动应用界面设计的尺寸设置及规范

    一.android篇 1.android分辨率 Android的多分辨率,一向是设计师和开发者非常头疼的事儿.尽管如此,对于多分辨造成的复杂问题,也是大家要优先解决的.Android支持多种不同的dp ...

  2. c语言如何控制上位机界面大小,电机上位机控制及界面设计参考.doc

    电机上位机控制及界面设计参考 PAGE 1 电机上位机控制及界面设计 吴牛俊 (自动化与电气工程学院 指导教师:周克宁) 摘要:随着计算机.电子.通讯技术的飞速发展,人们对于车间现场设备的运行管理控制 ...

  3. android qq 设置界面大小设置,怎么设置手机腾讯QQ的字体大小

    怎么设置手机腾讯QQ的字体大小 许多手机app都会用字体的设置,来方便我们更好的使用这些应用,那么我们怎么设置手机腾讯QQ的字体大小呢,接下来就让小编来教你们吧. 具体如下: 1. 第一步,打开手机上 ...

  4. 【MATLAB】基本绘图 ( 绘制多图 | 设置图形对话框在 Windows 界面的位置和大小 | 在一个图形上绘制多个小图形 )

    文章目录 一.绘制多图 1.绘制多图 2.代码示例 二.设置图形对话框在 Windows 界面的位置和大小 三.在一个图形上绘制多个小图形 一.绘制多图 1.绘制多图 存在一种绘图情况 , 需要同时展 ...

  5. android 自启动列表,Android 机型设置自启动的跳转界面

    Android 机型设置自启动的跳转界面 由于之前版本号把23,6.0误写成26,8.0了,导致一些判断是错的,并且在catch中没有重新对intent更新,导致会有崩溃问题,现已修复. 简书怎么传附 ...

  6. 设置GVIM的默认初试界面大小、启动位置

    打开GVIM安装目录下的_vimrc文件(Windows下),在其中添加配置内容: winpos 100 100 ''设置初始界面位置 set lines=25 columns=85 ''设置初始界面 ...

  7. webstorm在哪里设置Ctrl+鼠标滚轮缩放界面大小教程

    webstorm在哪里设置Ctrl+鼠标滚轮缩放界面大小教程 步骤如下: ①.打开webstorm软件,点击左上角的file ②.点击Setting(设置) ③.点击Editor ④.点击Genera ...

  8. Ubuntu下,Python版本查询、默认版本更改、终端字体背景颜色设置、Ubuntu中文语言设置、VMware中界面大小调整

    Ubuntu下,Python初步配置及终端设置 1.Python 版本查询 2.如何修改Ubuntu默认Python版本 3.Ubuntu终端字体颜色调整 4.Ubuntu中文语言设置 5.VMwar ...

  9. android qq字体大小设置快捷键,电脑端QQ怎么将字体选择设置为气泡模式

    电脑端QQ怎么将字体选择设置为气泡模式 用惯了手机QQ的气泡模式,那么不妨把电脑也修改一下吧.今天小编就告诉大家电脑端QQ怎么将字体选择设置为气泡模式. 具体如下: 1. 打首先我们打开电脑中的QQ, ...

最新文章

  1. linux生日_代码简介:让我们用25个Linux事实来庆祝Linux的25岁生日。
  2. R语言Wilcoxon Signed-rank统计分布函数(dsignrank, psignrank, qsignrank rsignrank )实战
  3. 机器学习系列14:偏差与方差
  4. 神经网络调参batchsize对网络性能影响
  5. java操作js文件_JS操作文件
  6. 待发箱outbox空间已满
  7. 【Python基础】Python轻量级循环-列表推导式
  8. asp.net core使用serilog将日志推送到腾讯云日志服务
  9. JS浏览器加载一个页面的过程
  10. mySQL字符串字段区别_MySQL类型之(字符串列类型区分、数据类型区分)
  11. 适用所有服务器的全站301重定向跳转教程
  12. 选主元的高斯-约旦(Gauss-Jordan)消元法解线性方程组/求逆矩阵
  13. python刷阅读_简单的37行python爬虫刷CSDN博客阅读数
  14. TYVJ P1083 分糖果 Label:bfs
  15. Canvas beginPath()、moveTo()、 lineTo() 、stroke() 绘制直线路径,fillText() 绘制填色的文本
  16. k8s api文档 调用heapster metrics
  17. ②C语言,求数组里相同的位置并输出
  18. vue播放flv格式视频
  19. 哪吒2之大闹东海电影项目亮点怎么样?
  20. Spring第一讲:谈谈你对Spring的理解?从该问题着手深入解析Spring/Spring5新特性

热门文章

  1. Windows下隐藏文件夹
  2. python求阶乘怎么做_python如何求阶乘
  3. 百度云怎么快速清理和谐文件啊
  4. APP推广案例之星巴克APP营销方式
  5. jwt单点登录 和防重放攻击
  6. 旅行售货商模型matlab,旅行售货员问题的几种解决方案.doc
  7. 自动驾驶系列(二) - 路径规划五种算法简述及对比
  8. matlab 斜坡响应,二阶系统的斜坡响应解读.docx
  9. PIC16F877A与Proteus仿真-PIC16F877A最小系统及开发环境搭建
  10. PPT精品模板:个人创意销售企业公司介绍PPT