当前位置:首页 > 云服务器 > 正文

Android的单位和屏幕分辨率是什么,怎么换算?

单位详解

Android 开发中常用的单位包括 px、dp、sp、pt、mm、indpsp 是最核心的密度无关单位。

单位 全称 说明
px Pixel 像素点,屏幕物理显示的最小单位,不同设备上相同 px 值对应的物理尺寸可能不同。
dp Density-independent Pixel 密度无关像素,基于 160 dpi 基准,1 dp 在 160 dpi 屏幕上等于 1 px。推荐用于布局尺寸
sp Scale-independent Pixel 缩放无关像素,与 dp 类似,但还会受用户字体大小设置影响。推荐用于文字大小
pt Point 1/72 英寸,通常用于印刷,在 Android 中较少使用。
mm Millimeter 毫米,基于物理尺寸。
in Inch 英寸,基于物理尺寸。

关键公式:px = dp (dpi / 160),例如在 320 dpi 的设备上,1 dp 等于 2 px。

屏幕分辨率与密度等级

分辨率指屏幕的像素总数,如 1080×1920 表示宽 1080 px、高 1920 px。屏幕密度(dpi)指每英寸的像素点数,决定了像素的物理大小。

Android 将屏幕密度分为几个通用等级:

密度等级 代表 dpi 比例因子 常见分辨率示例
ldpi ~120 75 240×320
mdpi ~160 0(基准) 320×480
hdpi ~240 5 480×800
xhdpi ~320 0 720×1280
xxhdpi ~480 0 1080×1920
xxxhdpi ~640 0 1440×2560

注意:实际 dpi 可能落在两个等级之间,系统会按最接近的等级进行缩放。

Android的单位和屏幕分辨率是什么,怎么换算? 第1张

密度独立性原理

使用 dp 作为布局单位后,系统会根据设备密度自动缩放,保证同一控件在不同密度屏幕上呈现相近的物理尺寸,例如一个 160dp 宽的按钮,在 mdpi 屏幕上占 160 px,在 xhdpi 屏幕上占 320 px,物理宽度大致相同。

Android的单位和屏幕分辨率是什么,怎么换算? 第2张

资源文件夹的匹配规则

为了适配不同密度,可以在 res 下创建对应文件夹:

  • drawable-mdpi
  • drawable-hdpi
  • drawable-xhdpi
  • drawable-xxhdpi
  • drawable-xxxhdpi

系统会根据设备密度加载对应文件夹中的资源,若无匹配则向上或向下取最接近的。

相关问题与解答

为什么 Android 推荐使用 dp 而不是 px 来做布局尺寸?

解答:dp 是密度无关单位,能保证在不同屏幕密度的设备上显示大致相同的物理尺寸,如果使用 px,同一个控件在低密度屏上可能显得很大,在高密度屏上却很小,导致布局不一致,而 dp 通过系统自动缩放,简化了多屏幕适配工作。

sp 和 dp 有什么区别?什么时候用 sp 什么时候用 dp?

解答:sp 与 dp 类似,都基于 160 dpi 基准,但 sp 额外受用户系统字体大小设置的影响,当用户增大系统字体时,使用 sp 的文本会相应放大,符合无障碍需求;而使用 dp 的文本则不会变化。因此文字大小应使用 sp,其他布局尺寸(如宽高、间距)应使用 dp,以保证界面整体布局不随字体缩放而破坏。

Android的单位和屏幕分辨率是什么,怎么换算? 第3张

0