概念:
dpi(Dots Per Inch):每英寸上的点数,最初用于衡量打印物上每英寸的点数密度,打印机在一英寸内打多少个点。DPI值越小越不精细。
ppi(Pixels Per Inch):每英寸上的像素点数量,当DPI的概念用在电子屏幕上时,就应称之为ppi。
对于开发者而言dpi就是ppi,ppi就是dpi,两者统称为屏幕密度。
px(Pixel):像素单位。
dp(device independent pixels):也就是dip(设备独立像素),Android系统中的长度单位。
分辨率:是屏幕图像的精密度,是指屏幕所能显示的像素有多少。
设A屏的像素密度为dA,B屏的像素密度为dB,A屏中的La px长度在B屏中应该缩放为Lb px,A屏宽度为Wa,B屏宽度为Wb。依据相同的缩放比例,有
,
令X = La*(Wb/Wa),Y = Lb,又dA = 160
于是X = Y / (dB / 160),谷歌规定X的单位为dp,所以从单位上看有等式
dp = px /(dB / 160)
若用ppi表示dB,就有了所谓的公式dp = px / (ppi / 160)
显然,对于同一张图片,在密度不同的屏幕上,要展示的图片大小px是不同的,
故开发时一般用dp作单位,因为dp可以自动适应不同屏幕密度的手机