如何在只有一套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. visual studio 插件开发

    插件的定义 所谓插件,就是根据平台接口开发的第三方程序.第一次听到这个名词很是不了解,听了解释也不是很明白,那我们来举个例子,比如说一辆房车,现在里面只有基本的一些设施,但是你现在想在顶部有一个晒太阳 ...

  2. OpenLDAP使用疑惑解答及使用Java完成LDAP身份认证

    导读 LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务.目录服务是一种特殊的数据库系统,其专门针对读取,浏览 ...

  3. 重点关注之OData with List

    OData是什么 官方解释:The Open Data Protocol (OData) is a data access protocol for the web. OData provides a ...

  4. java正则表达式之java小爬虫

    这个java小爬虫, 功能很简单,只有一个,抓取网上的邮箱.用到了javaI/O,正则表达式. public static void main(String[] args) throws IOExce ...

  5. 微信支付官方SDK V3 .NET版的坑

    但是支付成功后却不能正确的执行支付结果js回调函数.看看其页面的点击事件是放在asp:Button上面的.我们知道在asp.net webform中,按钮的点击是有页面回调后台的.也就是其实点击了之后 ...

  6. 重写 button 的创建方法

    重写 button 的创建方法 //sxc时时改变 // self.videoM.progress = progress; // if ([self.videoM.downloadStr isEqua ...

  7. 创建单例的DbContext

    /// <summary> /// 说明: /// 创建日期:2016/9/30 14:49:48 /// 创建人:曹永承 /// </summary> public clas ...

  8. visualSVN server库迁移

    首先,VisualSVN Server Manager,包含两个路径,一个是安装路径,例如本机:C:\Program Files\VisualSVN Server,一个是库路径,例如本机:C:\Rep ...

  9. C++-继承名称的掩盖

    /////////////////////////////////////////////////////////////////////////////// // // FileName : eff ...

  10. js弹出窗口的学习和使用

    Thickbox Thickbox是基于Jquery的,因此使用Thickbox需要下面四个文件: Thickbox.js----Thickbox主文件 CSS文件----Thickbox.css 最 ...