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。