“px”、“dip”、“dp”和“sp”有什么区别?

问题描述

来自Android 开发者文档

  1. > - 对应于屏幕上的实际像素

  2. > - 基于屏幕的物理尺寸。 > 1 英寸 = 2.54 厘米

  3. >- 基于屏幕的物理尺寸。

  4. > - 基于屏幕物理尺寸的 1/72 英寸。

  5. 或 > -independent Pixels - 基于屏幕物理密度的抽象单位。这些单位相对于 160 dpi 屏幕,因此 1 dp 是 160 dpi 屏幕上的一个像素。dp-to-pixel的比例会随着屏幕密度的变化而变化,但不一定成正比。注意:编译器同时接受“dip”和“dp”,尽管“dp”与“sp”更一致。

  6. > Scaleable Pixels scale-independent pixel - 这就像 dp 单位,但它也由用户字体大小选项缩放。建议您在指定字体大小使用此单位,这样它们将根据屏幕密度和用户的喜好进行调整。请注意,AndroID 文档的sp实际含义不一致,一个文档说“与比例无关的像素”,另一个说“可缩放像素”。

Density Bucket Screen Density Physical Size Pixel Size
ldpi 120 dpi 0.5 x 0.5 in 0.5 in * 120 dpi = 60x60 px
mdpi 160 dpi 0.5 x 0.5 in 0.5 in * 160 dpi = 80x80 px
hdpi 240 dpi 0.5 x 0.5 in 0.5 in * 240 dpi = 120x120 px
xhdpi 320 dpi 0.5 x 0.5 in 0.5 in * 320 dpi = 160x160 px
xxhdpi 480 dpi 0.5 x 0.5 in 0.5 in * 480 dpi = 240x240 px
xxxhdpi 640 dpi 0.5 x 0.5 in 0.5 in * 640 dpi = 320x320 px
Unit Description Units Per Physical Inch Density Independent? Same Physical Size On Every Screen?
px Pixels VarIEs No No
in Inches 1 Yes Yes
mm Millimeters 25.4 Yes Yes
pt Points 72 Yes Yes
dp Density Independent Pixels ~160 Yes No
sp Scale Independent Pixels ~160 Yes No

解决方法

Android 度量单位之间有什么区别?

  • px
  • dip
  • dp
  • sp

支付解锁全部内容

限时5折
¥9.9 ¥19.9

编程问答相关问答

前言:我知道与此主题相关的类似问题,并且尝试了无...
每当我运行基本的deploy命令时,一切都将重新部署到...
在将变量复制到文件时遇到问题。 我运行多个命令和s...