Android中的单位

像素(px)

Pixel的缩写,是指基本原色素及其灰度的基本编码。构成图像的最小单位。

屏幕尺寸(in)

按屏幕对角测量的实际物理尺寸。

分辨率

屏幕上物理像素的总数。

屏幕密度(dpi)

每英寸屏幕所拥有的像素数,像素密度越大,显示画面细节就越丰富。
计算公式:

Android中的单位_第1张图片
dpi.png

Android 将所有屏幕密度分组为六种通用密度: 低、中、高、超高、超超高和超超超高:

  • ldpi(低)~120dpi
  • mdpi(中)~160dpi
  • hdpi(高)~240dpi
  • xhdpi(超高)~320dpi
  • xxhdpi(超超高)~480dpi
  • xxxhdpi(超超超高)~640dpi

等式:
低:中:高:超高:超超高:超超超高=3:4:6:8:12:16

  • 36x36 (0.75x) 用于低密度
  • 48x48(1.0x 基线)用于中密度
  • 72x72 (1.5x) 用于高密度
  • 96x96 (2.0x) 用于超高密度
  • 144x144 (3.0x) 用于超超高密度
  • 192x192 (4.0x) 用于超超超高密度


float scale = getResources()
.getDisplayMetrics().density;

DisplayMetrics.density
字段根据当前屏幕密度指定 将 dp单位转换为像素必须使用的缩放系数。 在中密度屏幕上,DisplayMetrics.density等于 1.0;在高密度屏幕上,它等于 1.5;在超高密度屏幕上,等于 2.0; 在低密度屏幕上,等于 0.75。

密度无关像素(dp)

密度无关像素等于 160 dpi 屏幕上的一个物理像素,这是 系统为“中”密度屏幕假设的基线密度。在运行时,系统 根据使用中屏幕的实际密度按需要以透明方式处理 dp 单位的任何缩放 。dp 单位转换为屏幕像素很简单: px = dp * (dpi / 160)。 例如,在 240 dpi 屏幕上,1 dp 等于 1.5 物理像素。在定义应用的 UI 时应始终使用 dp 单位 ,以确保在不同密度的屏幕上正常显示 UI。

  • 超大屏幕至少为 960dp x 720dp
  • 大屏幕至少为 640dp x 480dp
  • 正常屏幕至少为 470dp x 320dp
  • 小屏幕至少为 426dp x 320dp

sp

与dp类似
使用sp作为字体大小单位,会随着系统的字体大小改变。

你可能感兴趣的:(Android中的单位)