探究安卓px/dp/dip/dpi/ppi/sp/density含义

dp=(160/ 像素密度值)px


image.png

so, xhdpi时,dp=1/2px;xxhdpi时,dp=1/3px;

ldpi QVGA (240×320)
mdpi HVGA (320×480)
hdpi WVGA (480×800), FWVGA (480×854)
xhdpi 720P(1280720)
xxhdpi 1080p(1920
1080 )
xxxhdpi 4K(3840×2160)

px : pixels(像素)
ppi : pixels per inch(像素密度,所表示的是每英寸所拥有的像素数量)
dpi : dots per inch(每英寸的点数)
dp、dip : device independent pixels(设备独立像素)
sp : scaled pixels(放大像素)
density:安卓系统中的density表示的是密度系数。计算方法是density = dpi / 160。即将160dpi作为标准的密度值(每英寸点数),我们设置的dp值即是在160的标准密度值下的像素数;所以px = density * dp。

PPI和DPI的含义区别?
PPI:pixels per inch(像素密度,所表示的是每英寸所拥有的像素数量)

image.png

DPI:dots per inch(屏幕密度,每英寸的点数)

为什么分辨率一样,屏幕尺寸一样, 同样的dp值显示出来的实际像素值不一样?
答:PPI是固定计算的,和分辨率,屏幕尺寸相关。DPI是ROM厂商设定的,不是确定公式计算的。同样的分辨率和屏幕尺寸,只能得到PPI一致。但是这不是实际显示的结果,设置dp值是按照DPI来计算的,这个时候需要看设备实际的DPI值,DPI不同结果不同。厂商可能为了显示效果而设置了不同的density(DPI).

你可能感兴趣的:(探究安卓px/dp/dip/dpi/ppi/sp/density含义)