如何在只有一套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. javascript实现对象的继承的方式

    在JavaScript将原型链作为实现继承的主要方法.基本原理是利用原型让一个subType引用superType的属性和方法 推荐链接 http://www.jb51.net/article/204 ...

  2. 学习HTML5之新特性标签一览(详细)

    HTML5又2008年诞生,HTML5大致可以等同于=html+css3+javascriptapi.... so --->支持css3强大的选择器和动画以及javascript的新的函数 先来 ...

  3. Xcode 8 打包上线 iTunes Connect 找不到构建版本

    Xcode 8 打包上线 iTunes Connect 找不到构建版本 最近苹果推出新的mac操作系统(macOS Sierra 10.12),大家可能都已经升级了,作为一个开发者,小编肯定是第一时间 ...

  4. mysql用户备份与修复

    1.修复表repair table tb1 [use frm]; #红色部分代表可添加也可不加, 2.show variables like '%timeout%';  #查询关键字 3. 更改数据, ...

  5. sql取年月日

    Sql Server 中一个非常强大的日期格式化函数 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CON ...

  6. ZOJ 3645 BiliBili 高斯消元 难度:1

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4835 由题意,有: (x1-x11)^2 + (x2-x12)^2 ... = ...

  7. UVa 10561 - Treblecross

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  8. 使用ASP.Net WebAPI构建REST服务(五)——客户端

    WebAPI是标准的Http协议,支持Http协议的客户端(如浏览器)都可以访问.但是,有的时候我们如果想在自己的程序中使用WebAPI时,此时就要实现自己的客户端了.我之前介绍过在.Net 4.5中 ...

  9. tornado介绍

    一.定义 tornado是一个异步非阻塞模型的服务器(tcp/http).web框架. 二.特性 1.高并发 原因:其一,网络事件循环部分根据操作系统选择最高效的,如Linux会是epoll: 其二, ...

  10. Linux摄像头驱动学习之:(一)V4L2_框架分析

    这段时间开始搞安卓camera底层驱动了,把以前的的Linux视频驱动回顾一下,本篇主要概述一下vfl2(video for linux 2). 一. V4L2框架: video for linux ...