相关概念orm
分辨率:整个屏幕的像素数目,为了表示方便通常用屏幕的像素宽度(水平像素数目)乘以像素高度表示,形如1280x720,反之分辨率为1280x720的屏幕,像素宽度不必定为1280图片
屏幕密度:表示单位面积内的像素个数,一般用dpi为单位,即每英寸多少个像素点资源
px:长度单位,以具体像素为单位table
dp:长度单位,与具体屏幕密度无关,显示的时候根据具体平台屏幕密度的不一样最终转换为相应的像素长度,具体转换规则是: 1dp = (目标屏幕密度/标准密度)*px,标准密度为160dpi,例如,1dp长度在密度为160dpi的平台表示一个像素的长度,而在240dpi的平台则表示1.5个像素的长度tab
屏幕尺寸:屏幕的大小,一般用屏幕对角线的长度表示文件
Android界面适配机制block
UI界面在不一样平台的适配受屏幕尺寸和屏幕密度影响,Android适配机制就是在资源后面添加对这两种因素的限定,经过不一样的限定区分不一样的平台资源,Android在使用资源的时候会优先选择知足本平台限定的资源,再找最接近条件的,再找默认(即不加限定),经过选择适合当前平台的资源来完成不一样平台的适配。界面
屏幕尺寸分为:small,normal,large,xlarge分别表示小,中,大,超大屏像素
屏幕密度分为:ldpi,mdpi,hdpi,xhdpi,xxhdpi 它们的标准值分别是:120dpi,160dpi,240dpi,320dpi, 480dpiab
在Android4.3以后又添加了xxxhdpi,达到640dpi,接近4k分辨率
xxxhdpi | xxhdpi | xhdpi | hdpi | mdpi | ldpi | |
---|---|---|---|---|---|---|
dpi对应值 | 640dpi | 480dpi | 320dpi | 240dpi | 160dpi | 120dpi |
像素密度 | 4.0 | 3.0 | 2.0 | 1.5 | 1.0 | 0.75 |
对应图片大小 | 192*192 | 144*144 | 96*96 | 72*72 | 48*48 | 36*36 |
对应px大小 | 4px | 3px | 2px | 1.5px | 1px | 0.75px |
实际像素计算公式 px = dp*像素密度,例如:mdpi分辨率:1px = 1dp*1.0
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480×800),FWVGA (480×854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320×480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240×320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。