Android 系统应用显示单位,密度及资源调用说明


Android studio

1、 应用显示单位 dp、px、pt、sp 简介。

Android 应用在进行布局设计时候,经常用到各种单位,下面简单介绍一下各种单位及其应用范围:

dp(dip) — 设备独立像素( device independent pixels ),是一种独立于设备的显示单元,其显示的大小根据设备的不同有所差异,在 Android系统中,是按照160dpi的像素作为参考值来匹配不同的PPI的设备的。

如:使用240dpi的设备,其使用1dp的值等于1.5px,其计算公式为 dp = px * (PPI / 160)。

px — 像素( pixels ),是根据实际物理像素,其在不同的分辨率的设备上都是有相同的像素点数。

pt — 点( point ),是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;

sp — 放大像素(scaled pixels),主要用于字体显示,是一个字体的显示单位。

注明:实际在apk布局设计中,使用dp适配不同的密度,同样尺寸的屏幕,可以保证拥有同样的显示大小,而使用px的,会呈现不同大小,因此,dp常用在布局设计当中,而px常用在需要补充布局的细节。

pt 用在打印,是在输出时候才会使用,而sp仅用于字体。

2、 Android 系统密度-density。

Android 系统常用的密度有120、160、240、320、480,其对应关系如下:

当屏幕density=480时,使用xxhdpi标签的资源
当屏幕density=320时,使用xhdpi标签的资源。
当屏幕density=240时,使用hdpi标签的资源
当屏幕density=160时,使用mdpi标签的资源
当屏幕density=120时,使用ldpi标签的资源。

3、密度的计算方法:

通常是根据屏的物理尺寸和实际分辨率来计算的,其公式如下:

dpi = √(w*w + h*h) / 屏的尺寸

如:800 * 480 的 7 寸屏,其密度为:133.27,取其最接近的值为120 PPI。

4、ADB 修改density的方法。

在adb中输入 wm size 即可以查看分辨率,而输入wm density即可以查看密度。

使用wm density 160,即可以修改密度为160。