一个iOS开发者的android修行之路三:布局开发单位对比(pt VS dp)

说到布局和适配,就不得不谈论下iOS和Android二者布局的单位:pt(point,点)和dp(Device independent pixel,Density independent pixel, DIP, DP,又叫与设备无关像素或与密度无关像素或密度独立像素)。注意:这里说的point和和印刷行业的单位point(1pt = 1/72 inch)是有区别的,看到好多文章都将iOS的pt和印刷行业的pt单位给等同起来这非常的误人子弟。

先说结论:

  1. 相同点:都是为了适配不同屏幕不同尺寸的移动设备而设计出来的一种单位,用于表示UI布局尺寸与设备屏幕密度无关

  2. 不同点:一:pt是iOS设备的布局尺寸单位,苹果公司给的定义是:1pt = 1/163 inch,dp是android设备的布局尺寸单位,Wikipedia给的定义对于android设备:1dp = 1/160 inch;二:像素(pixels)和二者的转换关系不同:iOS pt = pixels * ( ppi/163)Android dp = pixels * (ppi/160)

在说二者的异同之前,我们得先清楚几个概念(以下概念都是在屏幕、显示器这个语境下的定义讨论的):

  • inch:英寸,长度单位,1英寸 = 2.54 厘米;

  • px:pixels,像素,组成图片、视频的基本显示单位;

  • dpi:dots per inch,每英寸的点数又叫点密度;可以和下面的ppi概念等同

  • ppi:pixels per inch,每英寸的像素值又叫像素密度,每英寸像素值越高,屏幕能显示的图像也越精细,5ppi表示每平方英寸有5*5个px

  • 屏幕尺寸(screen size):最通俗的理解就是:屏幕对角线的长度,如5.8英寸的iPhoneX;

    5.8英寸的iPhoneX

  • 屏幕分辨率(resolution):手机的屏幕分辨率代表横向和纵向的像素值,如上图iPhoneX的分辨率是1125px * 2436px

通过上面的定义,我们知道ppi、屏幕尺寸、屏幕分辨率这三者的关系为:

ppi = 屏幕对角线的像素值/屏幕尺寸 = √ (屏幕横向像素值^2 + 屏幕纵向像素值^2)/对角线长度

根据上面的公式,我们计算下iPhoneX的像素密度为:√ (1125^2 + 2436^2)/5.8 ≈ 458ppi

px、pt、dp的相互转换

  1. px、pt、dp是静态测量 - 它们不会因其他因素而改变;
    1px总是1px,是可以显示颜色的屏幕中最小的一块。
    1pt总是1pt,是一个抽象单位,只有与其他点相关时才有意义,dp同理。
  2. pt、dp与px不同,因为它们根据ppi更改大小:
    在iPhone上,当屏幕像素密度为163ppi时,也就是Retina显示屏时代之前,所有的iPhone(iPhone 2G, 3G, 3GS),1pt等于1px;在326ppi上(iPhone 4,5和6),1pt等于2px*2px,或总共4px素,意味着你的100x100图像将渲染在Retina设备上将是163ppi设备的四分之一大小;在401ppi上(iPhone 6Plus、7Plus、8Plus)这样的,1pt等于3px*3px,或者9px。
    pt和px

    iPhone所有机型的分辨率如下图:
    The Ultimate Guide To iPhone Resolutions

参考文章:

  1. Mobile design 101: pixels, points and resolutions
  2. The Ultimate Guide To iPhone Resolutions
  3. iOS 的 APP 在系统中如何适应 iPhone 5s/6/6 Plus 三种屏幕的尺寸

推荐阅读更多精彩内容

  • 支持多种屏幕 Android 可在各种具有不同屏幕尺寸和密度的设备上运行。对于 应用,Android 系统在不同设...
    牧童遥指2000阅读 2,672评论 0 19
  • 什么是DPI、PPI? DPI(Dots Per Inch)是测量空间点密度的单位,最初应用于打印技术中,它表示每...
    读品走思阅读 2,278评论 0 5
  • 因为复读生活的学校是不允许学生拿手机的,所以只有两周回一次家的我们才有机会打开手机,看看资讯,看看高中同学的消息。...
    正月小酥阅读 101评论 0 0
  • 秋夜寒凉 惊醒 久寐不成睡 轻翻点滴旧日 含笑 青涩怎成 拥衾满怀 碎语 喃喃未成行 帘映霜月如洒 小掬 欲予谁倾...
    忆如斯阅读 76评论 2 2
  • 场景一: “我不吃饭!” “我不喝水!” “我不梳头发!” “我不穿衣服!” …… “大清早晨的,你折腾什么?你什...
    Abby李仪珊阅读 134评论 0 1