Android屏幕中dp、dpi、px、ppi的区别
px:像素
ppi:指每英寸所拥有的像素数量
dpi:指每英寸所拥有的点的数量(点的大小不一定是像素大小,但在考虑屏幕的时候dpi=ppi)
dp:密度独立像素
density:屏幕密度,density和dpi的关系为 density = dpi/160
sp:安卓的字体大小单位
首先得清楚在考虑屏幕的时候dpi=ppi
-
drawable-ldpi (dpi=120, density=0.75)
-
drawable-mdpi (dpi=160, density=1)
-
drawable-hdpi (dpi=240, density=1.5)
-
drawable-xhdpi (dpi=320, density=2)
-
drawable-xxhdpi (dpi=480, density=3)
-
drawable-xxxhdpi (dpi=640, density=4)
例如一部华为P10 plus手机的参数
5.5英寸:屏幕对角线5.5英寸长
540ppi:每英寸所拥有的像素数量540px
16:9纵横比:屏幕长:宽的比值
1440 x 2560 px:屏幕的像素大小
360 x 640 dp:屏幕 密度独立像素 的大小
dpi: 4.0 xxxhdpi (基于1.0mdpi(160dpi),该屏幕密度为4*160dpi=640dpi 实际dpi为540 上面的540ppi就是实际dpi)
(4.0也可以理解为每个dp的大小为4px 1dp=4px)
举个栗子
一张100 x 100px的图片在1.0mdpi(160dpi)手机里显示出的大小是2.0xhdpi(320dpi)手机中显示大小两倍
但是一张100 x 100dp的图片在两部手机中的显示的图片大小类似
(假设1.0mdpi手机的屏幕大小算360 x 640px,2.0xhdpi手机的屏幕大小为720 x 1280px,
两部手机屏幕的dp大小都为360 x 640dp)
图标 icons
图标用途 | mdpi (160dpi) | hdpi (240dpi) | xhdpi (320dpi) | xxhdpi (480dpi) | xxxhdpi (640dpi) |
---|---|---|---|---|---|
应用图标 | 48 x 48 px | 72 x 72 px | 96 x 96 px | 144 x 144 px | 192 x 192 px |
系统图标 | 24 x 24 px | 36 x 36 px | 48 x 48 px | 72 x 72 px | 196 x 196 px |
主流屏幕尺寸大全
https://uiiiuiii.com/screen/index.htm
______________________________________分割线_______________________________________
Android 手机屏幕适配
https://blog.csdn.net/yh18668197127/article/details/85103759