屏幕密度和DPI的对应关系

屏幕密度和DPI的对应关系

基本概念铺垫

像素

像素(pixel)为图像的基本单位,是一个抽象的采样,在很多情况下,它们采用点或者方块显示。每个像素可有各自的颜色值,可以采用RGB表示。单位面积内的像素越多代表分辨率越高,所显示的图像就会接近于真实物体。

屏幕尺寸

屏幕尺寸(Screen size)指屏幕的物理尺寸,一般用屏幕对角线长度表示,单位英寸(1英寸 = 2.54 厘米)。如小米4是5英寸。

宽高比率

宽高比率(Aspect Ratio)指的是实际屏幕的物理尺寸宽高比,如16:9,4:3等等。

屏幕密度

屏幕密度(Screen density)指的是屏幕里像素值浓度,分辨率/屏幕尺寸可以反映出手机密度。为了方便,Android将屏幕密度分为6种,low, medium, high, extra-high, extra-extra-high, and extra-extra-extra-high.

分辨率

分辨率(Resolution)和电脑的分辨率概念一样,指手机屏幕纵、横方向像素个数。如1920*1080,它表示纵向一列有1920个像素,横向一行有1080个像素。

DPI

DPI(dot per inch),每英寸像素数,可以反映屏幕的清晰度,可用于缩放UI。例如,如果一个320×240分辨率的屏幕之物理尺寸为2 inch×1.5 inch,那么DPI = 320/2 = 240/1.5 =160。一般的,计算的方法为对角线像素值/对角线长度(屏幕尺寸)。如计算WVGA(800*480)分辨率,3.7英寸的密度DPI为sqrt(800^2 + 480^2)÷3.7 = 252

dip(dp)

DIP = Density-independent pixel,与密度无关像素,亦称为设备独立像素(Device independent pixel),是一个虚拟的像素的单元,其等价于160dpi屏幕的一个实际物理像素。这种160dpi的屏幕的屏幕密度是系统假设一个基准密度(也就是medium级别的密度),在运行时,系统会将DP值根据不同DPI的屏幕转化具体的物理的像素。公式为px = dp * (dpi / 160)。如一个240dpi的屏幕,1dp在其上实际等于1.5个物理像素px。在布局时应该使用dp作为单位以方便适配

Android对手机屏幕尺寸和dpi分级的情况

具体的数据(适配常用,重点关注)

  • ldpi (low) ~120dpi
  • mdpi (medium) ~160dpi
  • hdpi (high) ~240dpi
  • xhdpi (extra-high) ~320dpi
  • xxhdpi (extra-extra-high) ~480dpi
  • xxxhdpi (extra-extra-extra-high) ~640dpi

你可能感兴趣的:(屏幕密度和DPI的对应关系)