支持屏幕具有不同的分辨率,尺寸
术语和概念
屏幕尺寸
实际物理尺寸,以屏幕对角线测量。为简单起见,Android 将所有实际屏幕尺寸分为四种通用尺寸:小尺寸,普通尺寸,大尺寸和超大尺寸。
屏幕密度
屏幕物理区域内的像素数量; 通常称为 dpi(每英寸点数)。例如,与正常或高密度屏幕相比,低密度屏幕在给定物理区域内具有更少的像素。为简单起见,Android 将所有实际屏幕密度分为六种通用密度:低,中,高,超高,超高和超额外超高。
取向
从用户的角度看屏幕的方向。这可以是横向或纵向,这意味着屏幕的宽高比分别为宽或高。请注意,默认情况下,不仅不同的设备在不同的方向上运行,但是当用户旋转设备时,方向可以在运行时更改。分辨率屏幕上的物理像素总数。添加对多个屏幕的支持时,应用程序无法直接使用分辨率; 应用程序应仅关注屏幕尺寸和密度,如通用尺寸和密度组所指定。与密度无关的像素(dp)在定义 UI 布局时应使用的虚拟像素单元,以与密度无关的方式表达布局尺寸或位置。与密度无关的像素相当于 160 dpi 屏幕上的一个物理像素,这是系统为中等密度屏幕假定的基线密度。在运行时,系统根据使用的屏幕的实际密度,根据需要透明地处理 dp 单元的任何缩放。dp 单位到屏幕像素的转换很简单:px = dp *(dpi / 160)。例如,在 240 dpi 屏幕上,1 dp 等于 1.5 个物理像素。在定义应用程序的 UI 时,应始终使用 dp 单位,以确保在具有不同密度的屏幕上正确显示 UI。根据使用中屏幕的实际密度。dp 单位到屏幕像素的转换很简单:px = dp *(dpi / 160)。例如,在 240 dpi 屏幕上,1 dp 等于 1.5 个物理像素。在定义应用程序的 UI 时,应始终使用 dp 单位,以确保在具有不同密度的屏幕上正确显示 UI。根据使用中屏幕的实际密度。dp 单位到屏幕像素的转换很简单:px = dp *(dpi / 160)。例如,在 240 dpi 屏幕上,1 dp 等于 1.5 个物理像素。在定义应用程序的 UI 时,应始终使用 dp 单位,以确保在具有不同密度的屏幕上正确显示 UI。
单位
PX
像素 - 对应于屏幕上的实际像素。
在
英寸 - 基于屏幕的物理尺寸。1 英寸= 2.54 厘米
毫米
毫米 - 基于屏幕的物理尺寸。
PT
点数 - 基于屏幕物理尺寸的 1/72 英寸。
dp 或 dip
密度无关像素 - 基于屏幕物理密度的抽象单元。这些单位相对于 160 dpi 的屏幕,因此一个 dp 是 160 dpi 屏幕上的一个像素。dp 与像素的比率将随着屏幕密度而变化,但不一定是成正比的。注意:编译器同时接受
dip
和dp
,但dp
更符合sp
。SP
与比例无关的像素 - 这与 dp 单位类似,但它也可以通过用户的字体大小首选项进行缩放。建议你在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好调整它们。从了解 Android 中的密度独立性:
单元 | 描述 | 每个物理英寸的单位 | 密度独立 | 每个屏幕上的物理尺寸相同 |
---|---|---|---|---|
px |
像素 | 不定 | 没有 | 没有 |
in |
英寸 | 1 | 是 | 是 |
mm |
毫米 | 25.4 | 是 | 是 |
pt |
点 | 72 | 是 | 是 |
dp |
密度无关像素 | 〜160 | 是 | 没有 |
sp |
缩放独立像素 | 〜160 | 是 | 没有 |
参考文献: