Android/iOS 设计单位及适...

  • 经验类型经验/观点
  • 经验属性原创文章
  • 经验版权不使用原创授权
3027 0 4 2019-01-23

Android/iOS 设计单位及适配原则

1、必备概念

分辨率

分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”,安卓手机屏幕常见的分辨率有 480×800、720×1280、1080×1920 等。720×1280 表示此屏幕在宽度方向有 720 个像素,在高度方向有 1280 个像素。


屏幕大小

屏幕大小是手机对角线的物理尺寸,以英寸(inch)为单位。比如某某手机为“5寸大屏手机”,就是指对角线的尺寸,5 寸×2.54 厘米/寸=12.7 厘米。


密度(dpi,dots per inch;或 PPI,pixels per inch)。

从英文顾名思义,就是每英寸的像素点数,数值越高当然显示越细腻。假如我们知道一部手机的分辨率是 1080×1920,屏幕大小是 5 英寸,你能否算出此屏幕的密度呢?

哈哈,中学的勾股定理派上用场啦!通过宽 1080 和高 1920,根据勾股定理,我们得出对角线的像素数大约是 2203,那么用 2203 除以 5 就是此屏幕的密度了,计算结果是 440。440dpi 的屏幕已经相当细腻了。


2、单位定义


px:pixel,像素

电子屏幕上组成一幅图画或照片的最基本单元,对应屏幕上的实际像素,是画面中最小的点(单位色块),像素大小没有固定长度值,不同设备上 1 个单位像素色块大小不同。1px 表示一个像素,例如 iPhone 8 的尺寸为 750px × 1334px,表示在该手机屏幕上,水平方向每行有 750 个像素点,垂直方向每列有 1334 个像素点。





pt:point,点

电子屏幕上组成一幅图画或照片的最基本单元,对应屏幕上的实际像素,是画面中最小的点(单位色块),像素大小没有固定长度值,不同设备上 1 个单位像素色块大小不同。1px 表示一个像素,例如 iPhone 8 的尺寸为 750px × 1334px,表示在该手机屏幕上,水平方向每行有 750 个像素点,垂直方向每列有 1334 个像素点。





dpi:dot per inch

每英寸多少点,该值越高,则图片越细腻。是安卓开发用的长度单位,1dp 表示在屏幕像素点密度为 160ppi 时 1px 长度,这是 系统为“中”密度屏幕假设的基线密度。在运行时,系统根据使用中屏幕的实际密度按需要以透明方式处理 dp 单位的任何缩放 。dp 单位转换为屏幕像素很简单:px = dp * (dpi / 160)。 如果还是觉得很懵,那么可以直接记住:1dp 单位在设备屏幕上总是等于 1/160 inch。






sp scale-independent pixel

安卓开发用的字体大小单位。在安卓系统里,sp 与 dp 类似,不同的是 sp 可以根据用户的字体大小首选项进行缩放,而 dp 则不会。 尽量使用 dp 作为空间大小单位,sp 作为文字相关大小单位,例如:新闻类和短信类等大篇幅文本,推荐使用 sp 为单位。



3、换算关系

pt 与 px 换算

公式一: 1pt= (DPI / 72) px 当 photoshop 中新建画布的分辨率为 72ppi ( 即 72dpi时 ), 1pt = 1px; 当新建画布分辨率为 72*2=144ppi 时,1pt = 2px。


ppi 和 dpi

公式二:dpi = ppidpi 最初用于衡量打印物上每英寸的点数密度。dpi 值越小图片越不精细。当 DPI 的概念用在计算机屏幕上时,就应称之为 ppi。同理: PPI 就是计算机屏幕上每英寸可以显示的像素点的数量。因此,在电子屏幕显示中提到的 ppi 和 dpi 是一样的,DPI 和 PPI 的区别。



px 和 dp  1dp=(屏幕ppi/160)px

dp 为安卓开发时的长度单位,根据不同的屏幕分辨率,与 px 有不同的对应关系。1dp 定义为屏幕密度值为 160ppi 时的 1px,即,在 mdpi 时,1dp = 1px。 以 mdpi 为标准,这些屏幕的密度值比为:idpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3;即,在 xhdpi 的密度下,1dp = 2px;在 hdpi 情况下,1dp = 1.5px。其他类推。


dp 和 sp

dp 和 sp 都是安卓的开发单位,dp 是长度单位,sp 是字体单位。sp 与 dp 类似,但是可以根据用户的字体大小首选项进行缩放。Android 系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),公式五:当文字尺寸是 “正常” 时 1sp = 1dp,而当文字尺寸是“大”或“超大”时,1sp > 1dp。一般情况下可认为sp=dp。



由于做设计时以 xhdpi 为模板,xhdpi 条件下,1dp=2px。我们只需要记住,pt/dp/sp 是相对单位,而 px 是绝对单位。在做设计稿时,用 pt/dp/sp 就行了。但是必须要懂得这些单位和px 之间的换算。目前 Apple 的手机中,有三种不同分辨率,分别被习惯性的成为 1 倍图、2 倍图、3 倍图。而 Android 中,不同的分辨率的被称为 ldpi、mdpi、hdpi、xhdpi、xxhdpi、xxxdpi...。关于它们之间的换算关系,直接附上一张表,供大家参考。


4、iOS 和 Android 尺寸转换

iOS 转 Android 尺寸

iOS 750px 的设计稿可以和 Android 720px 的设计稿相对应 需要在可活动间距调整 30px 不建议修改固定间距(因为 750px 是 iOS@2x 对应 Android 是 xhdpi,所以 750px 的设计稿切换到 Android  xhdpi查看设计图,xhdpi:2px = 1dp  即 375dp-15dp = 360dp)也就是Android 适配尺寸。iOS 375px 的设计稿可以和 Android 360px 的设计稿相对应 需要在可活动间距调整 15px 不建议修改固定间距(因为 375px 是 iOS@1x 对应 Android 是 mdpi,所以 375px 的设计稿切换到 Android 查看设计图,mdpi:1px = 1dp  即 375dp-15dp = 360dp)也就是 Android 适配尺寸。


Android 转 iOS 尺寸

Android 720px 的设计稿可以和 iOS 750px的设计稿相对应 需要在可活动间距调整 30px 不建议修改固定间距(720px 是Android xhdpi 对应iOS是@2x,所以 720px 的设计稿切换到iOS@2x 查看设计图,@2x:2px = 1pt   即 360pt+15pt = 375pt)也就是 iOS 适配尺寸。Android 1080px 的设计稿可以和 iOS 1125px(即375px的三倍图;375px*3=1125px)的设计稿相对应 需要在可活动间距调整 45px 不建议修改固定间距(1080px 是 Android xxhdpi对应 iOS 是 @3x,所以 1080px 设计稿切换到 iOS@3x 查看设计图,@3x:3px = 1pt 即 360pt+15pt = 375pt)也就是 iOS 适配尺寸。



设计稿是先做 iPhone6 (750×1334)的,目的是向上适配 iPhone6Plus,同时向下适配 iPhone5 和 iPhone4 的尺寸。而且还跟 Android 的 720*1280 同为 2 倍图。
































全部评论:0

更多作品

发表评论

取消

点击右上角
分享给朋友吧

分享到

取消

每人每天仅限5票,快给你心仪的作品鼓励的一票。

投票