如何在只有一套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. easyui中的combobox小知识点~~

    一直使用的easyui中,一些不为人知的小知识点,与君共勉: 1.combobox设置高度:使用panelHeight属性: 2.combobox本身自带“自动补全”功能,但是在浏览器中是有限制的,在 ...

  2. Eclipse 反编译器

    Help-->Install New SoftWare 贴上反编译地址:http://opensource.cpupk.com/decompiler/update/ 选择add,一路向北,起飞.

  3. BZOJ3933 [CQOI2015]多项式

    $\sum_{k = 0} ^ {n} a_kx^k = \sum_{k = 0} ^ {n} b_k(x - t)^k \Leftrightarrow \sum_{k = 0} ^ {n} a_k( ...

  4. VBA SQLServer 基本操作

      读取MS SQL Server数据表数据,并将它保存到excel工作表中 Sub ReturnSQLrecord() 'sht 为excel工作表对象变量,指向某一工作表 Dim i As Int ...

  5. charCodeAt 和 fromCharCode

    1.charCodeAt() 定义和用法 charCodeAt() 方法可返回指定位置的字符的 Unicode 编码.这个返回值是 0 - 65535 之间的整数. 方法 charCodeAt() 与 ...

  6. oracle查询语句大全

    1.查处oracle数据库的字符编码格式 select * from v$nls_parameters t where t.PARAMETER='NLS_CHARACTERSET'; 如果查出的是ZH ...

  7. Hduacm—5497

    #include <cstring> #include <cstdio> #include <iostream> using namespace std; type ...

  8. DQL查询语句内容整理

    select * from t_hq_ryxx; select bianh,xingm from t_hq_ryxx; --为字段名定义别名 select bianh as 编号,xingm as 姓 ...

  9. 都是以父元素的width为参照物的

    本文依赖于一个基础却又容易混淆的css知识点:当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!也许你会说, ...

  10. 数据结构-Hash表

    实现: #ifndef SEPARATE_CHAINING_H #define SEPARATE_CHAINING_H #include <vector> #include <lis ...