px 像素
dpi Dots Per Inch 每英寸所打印的点数,也就是当设备的dpi为160的时候1px=1dp
,dpi的概念用在计算机屏幕上时,就应称之为ppi
ppi Pixels Per Inch 一般指一块屏幕的物理像素密度。也就是以英寸记的屏幕实际物理尺寸与实际物理像素数之间的关系,基本和开发无关
dp 独立像素密度。标准是160dp.即1dp对应1个pixel,计算公式如:px = dp * (dpi / 160),dp=px/(dpi/160)屏幕密度越大,1dp对应 的像素点越多。
以谷歌的标准,按安卓屏幕宽度为例,一般来说480px对应的density是1.5(也就是hdpi)对应320dp,720px对应的density是2.0(也就是xhdpi)对应360dp,1080px对应的density是3.0(也就是xxhdpi)对应360dp。
1280x720 分辨率的手机,相对屏幕密度是2,把单位换算成dp后,屏幕尺寸变为640x360dp ;
960x540 分辨率的手机,相对屏幕密度是1.5,把单位换算成dp后,屏幕尺寸变为640x360dp ;
1920x1080 分辨率的手机,相对屏幕密度是3,把单位换算成dp后,屏幕尺寸变为640x360dp ;
以160ppi为基准,160ppi对应的density是1.0,240ppi对应的density是1.5,320ppi对应的density是2.0…
最关键的一点是,
真机屏幕的ppi会取和以上标准最相近的标准ppi!
然后density按照最相近的ppi来定。
gallery s2:
gallery s3:
gallery s4:
gallery note:
| px= dp * (dpi / 160)| density =dpi / 160 | dp= px/(dpi/160) |ppi/dpi| res
| --- |-----| -----| -----|
| | 0.75 | | 120dpi|ldpi
| | 1 | | 160dpi|mdpi
| 480px | 1.5 | 320dp|240dpi|hdpi
| 720px | 2 | 360dp | 320dpi|xhdpi
| 1080px |3 |360dp|480dpi |xxhdpi