美文网首页
dip sp px dpi 分辨率等尺寸的区别

dip sp px dpi 分辨率等尺寸的区别

作者: Y小圆脸 | 来源:发表于2017-04-17 15:37 被阅读204次

    分辨率对应DPI

    ldpi QVGA (240×320)

    mdpi HVGA (320×480)

    hdpi WVGA (480×800),FWVGA (480×854)

    xhdpi 720P(1280*720)

    xxhdpi 1080p(1920*1080 )

    xxxhdpi 4K(3840×2160)

    手机常见分辨率:

    4:3

    VGA 640*480 (Video Graphics Array)

    QVGA 320*240 (Quarter VGA)

    HVGA 480*320 (Half-size VGA)

    SVGA 800*600 (Super VGA)

    5:3

    WVGA 800*480 (Wide VGA)

    16:9

    FWVGA 854*480 (Full Wide VGA)

    HD 1920*1080 High Definition

    QHD 960*540

    720p 1280*720 标清

    1080p 1920*1080 高清

    Android

    像素 密度
    HVGA mdpi

    WVGA hdpi

    FWVGA hdpi

    720P(1280*720) xhdpi

    1080P(1920*1080) xxhdpi

    密度 建议尺寸

    mipmap-mdpi 48 * 48 1

    mipmap-hdpi 72 * 72 1.5

    mipmap-xhdpi 96 * 96 2

    mipmap-xxhdpi 144 * 144 3

    mipmap-xxxhdpi 192 * 192 4

    一.基本概念

    • dpi:dots per inch , 说白了就是一英寸有多少个像素点。常见取值 120,160,240。我一般称作像素密度,简称密度
    • dip:Density independent pixels ,设备独立像素 — 这个和设备硬件有关,一般我们为了支持手机上多种分辨率,如WVGA、HVGA和QVGA,都会使用dip作为长度的单位
    • dp:与dip完全相同,只是名字不同而已。在早期的Android版本里多使用dip,后来为了与sp统一就建议使用dp这个名字了。
    • px:屏幕的像素点,简称像素
    • sp:与缩放无关的抽象像素(Scale-independent Pixel)。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。(建议使用sp作为文本的单位,其它用dp
    • density:直接翻译的话貌似叫 密度。常见取值 1.5 , 1.0 。和标准dpi的比例(160px/inc)
    • 分辨率 :横纵两个方向像素点的数量,例如480x800,1920x1080
    • 屏幕尺寸 :我们生活中经常听到手机5英寸,4.5英寸。电脑23.8英寸。它的结果是按照屏幕的对角线计算出来的,1英寸=2.5400 厘米,也就是说,5英寸=12.7厘米
    • 屏幕比例的问题:因为只确定了对角线长,2边长度还不一定。所以有了4:3、16:9这种,这样就可以算出屏幕边长了。

    单位互相转换

    1.计算dpi----> 单位英寸下的像素

    例如有一台手机,屏幕4寸,分辨率480X800,它的dpi如何算呢?
    因为不知道边长,肯定不能分开算,4是对角线长度,那直接用勾股定理算对角线像素,除以4,算出来大概是 dpi = 233 像素/英寸。
    那么density就是 (233 px/inch)/(160 px/inch)=1.46 左右
    顺便说下,android默认的只有3个dpi,low、medium和high,对应 120、160、240,如果没有特别设置,所有的dpi都会被算成这3个,其中default的为160.

    2. 计算 dp 与 px

    我们写布局的时候,肯定还是要知道1个dp到底有多少px的。
    换算公式如下: dp = (DPI/(160像素/英寸))px = density px
    注意,这里都是带单位的。px是单位,dp是单位,density没单位。
    为了方便,假设dpi是240 像素/英寸 , 那么density就是1.5
    那么就是 dp=1.5px ,注意这是带了单位的,也就是 设备无关像素 = density 像素 那么转换为数值计算的话,应该是下面这个式子
      PX = density * DP

    相关文章

      网友评论

          本文标题:dip sp px dpi 分辨率等尺寸的区别

          本文链接:https://www.haomeiwen.com/subject/dsmtzttx.html