如何在只有一套app设计稿(5s尺寸)切出4和4s尺寸以及安卓系统主流尺寸的图

转自:http://www.zhihu.com/question/23255417   版权归原作者所有

目前ios手机尺寸为320*480px;640*960/1136px;对应的手机型号为iPhone3/3g,iPhone4/4s/5/5s;他们的尺寸关系比为1:2 。
android的屏幕众多(分为:idpi 240*320px、mdpi 320*480px、hdpi 480*800px、xhdpi720*1280px、xxhdpi 1080*1920px几类,长度单位为dp,字体大小单位为sp,dp = sp );这些手机的比为:idpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 2.25 ;(安卓为什么以mdpi为基准?因为在这个尺寸下1dp=1px=sp,便于在查看设计。理论自己搜索,知乎也有)

ios端以宽640px为设计母版,安卓端以宽480px为设计母版(为什么?自己寻找)

以下以宽度为说明:
ios的母版设计,界面的元素间的间距、文字大小设为8的整数倍,例8px,16px,24px等等;

ios设计图换算到安卓基准版mdpi的设计图尺寸就是:
算法一(网络公式):
先换算:640px乘以0.75 = 安卓的尺寸480 px = hdpi ;
又知hdpi是mdpi的1.5倍,故 :480/1.5 = mdpi = 320px;前面说了在mdpi里:像素与dp的关系是1:1,也就是320px = 320dp;

算法二(自创)直接换算到mdpi:
因为ios 640 = 安卓的xhdpi;又xhpdi是mdpi的2倍关系;所以ios 640 换算到mdpi = 640/2 = 320px = 320dp;
--------------------华丽丽的分割线--------------------------------------------

换算出安卓的基准尺寸,再计算出安卓其他版本的px数值;乘以对应系数:X0.75;X1;X1.5;X2;X2.25;
得到安卓设计稿的px尺寸。包括安卓所有元素换算成px都是遵循这个公式:
idpi文字/图标/间距 = (ios/2)*0.75 = px;
mdpi文字/图标/间距 = (ios/2)*1 = px;
hdpi文字/图标/间距 = (ios/2)*1.5 = px;
xhdpi文字/图标/间距 = (ios/2)*2 = px;
xxdpi文字/图标/间距= (ios/2)*2.25 = px;

设计:做一套ios640的ui

切图:以设计好的这一套640作为安卓720x1280-xhdpi的母版(ios640=安卓720x1280的xhdpi通用),在此基础上用安卓的比例用ps放大缩小得到几套不同尺寸的安卓图标,分别按照mdpi、hdpi、xhdpi放在不同文件夹

标注:以设计好的这一套640的图标大小行高、字体大小、间距等用markman标注为px(可供ios直接用),这套标注好的尺寸。丢给安卓程序员,让他按照idpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 2.25 去换算出多套程序适配方案(换算成dp),去适配不同安卓屏幕。如果该安卓程序员逼格不够,他会反过来要求你标多套尺寸,这样你的工作量会增加很多,而且没有必要。他只需要简单换算下就行了

学习笔记:只有一套app设计稿(5s尺寸)切出4和4s尺寸以及安卓系统主流尺寸的图的更多相关文章

  1. 软件测试第六周学习笔记之“Win8 APP应用程序的白盒测试”

    这周的学习笔记我想写点自己关于实验中碰到的问题和感想. 因为这次做的是白盒测试,所以我决定去测试一下上回测试的app的功能函数. 这次我用的是单元测试项目来做的白盒测试: 创建单元测试的步骤: 1.点 ...

  2. Python3+Appium学习笔记03-启动app

    这个是appium相关的官方api地址:http://appium.io/docs/en/about-appium/api/ 如同selenium进行自动化测试时,需要先创建一个浏览器实例一样.在使用 ...

  3. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [5] 版本设计分析及数据表设计

    APP 版本升级以及 APP 演示 ① 版本升级分析以及数据表设计 ② 版本升级接口开发以及 APP 演示 /** * version_upgrade 版本升级信息表 */ CREATE TABLE ...

  4. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [3] 首页 APP 接口开发方案 ② 读取缓存方式

    以静态缓存为例. 修改 file.php line:11 去掉 path 参数(方便),加上缓存时间参数: public function cacheData($k,$v = '',$cacheTim ...

  5. MySQL学习笔记_6_SQL语言的设计与编写(下)

    SQL语言的设计与编写(下) --SELECT查询精讲 概要: SELECT[ALL | DISTINCT] #distinct 明显的,清楚的,有区别的 {*|table.*|[table.]fie ...

  6. Kafka学习笔记之Kafka Consumer设计解析

    0x00 摘要 本文主要介绍了Kafka High Level Consumer,Consumer Group,Consumer Rebalance,Low Level Consumer实现的语义,以 ...

  7. K8S学习笔记之Grafana App for Kubernetes的配置

    Grafana有一套针对Kubernetes监控的APP,和Grafana-Zabbix App类似,但是配置咋一看比较麻烦,主要参数都是来自K8S. 这款APP的详细介绍请参考Grafana App ...

  8. 学习笔记-cordova 限制app横屏

    禁止手机app横竖屏幕转换,只需在根目录下的 config.xml 中添加如下内容 <preference name="orientation" value="po ...

  9. WeX5学习笔记-创建本地APP相关问题

    1.在Native新建[创建本地APP]时, "服务地址”为本地IP和端口号,例如本地IP为192.168.253.1,端口号为8080,则设置为http://192.168.253.1:8 ...

随机推荐

  1. 怎么实现form表单提交后不重新刷新当前页面

    怎么实现表单提交后不重新刷新当前页面     如何实现表单提交后不重新刷新当前页面 <form name='form1' id='form1' action='/xbcw/cw/xx_xx.ac ...

  2. soapUI参数

    点击File->New Rest Project,填入要测试的URI,确定进入编辑界面: 调整请求方式,添加请求参数,设置参数风格,这里要说一下:style有五种,QUERY是默认常用:TEMP ...

  3. WCF学习笔记

    1,关于WCF/web service/WSE Web Service:是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术.它有一套完成的规范体系标准,而且在持 ...

  4. HDU 4122

    Alice's mooncake shop Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  5. HTTP方法简介

    GET 请求获取资源 HEAD 与GET类似,但服务器只返回首部 PUT 与GET相反,向服务器写入文档 POST 向服务器输入数据,通常使用HTML表单形式 TRACE 客户端发起请求时,需要穿越防 ...

  6. C#入门篇6-11:字符串操作 查找与替换

    #region 查找与替换 public class C4 { //查找 public static void StrFind() { //目标字符串 string str1 = "~awe ...

  7. [Jquery]焦点图轮播效果

    $(function(){    var $next=$(".right");    var $prev=$(".left");    var $list_nu ...

  8. 常用三方,Reachability 检测网络连接

    常用三方 Reachability 检 测网络连接 用来检查网络连接是否可用:包括WIFI和 WWAN(3G/EDGE/CDMA等)两种工作模式. 可以从Apple网站下载到: http://deve ...

  9. php 加密解密字符串

    /********************************************************************* 函数名称:encrypt 函数作用:加密解密字符串 使用方 ...

  10. vs2013的使用和单元测试

    我的vs2013是之前就安装好的,安装过程就不介绍了,我平常编写代码就是用的vs2013,用起来还是很方便的,现在我们就开始使用vs2013进行单元测试 首先我们建立一个项目,项目中选择virtual ...