Android屏幕适配知识
基本概念
- 分辨率,即手机屏幕的像素点数,一般描述为
宽×高,Android常见的分辨率有480×800、720×1280、1080×1920等 - 屏幕大小,即手机屏幕对角线的物理尺寸,以英寸(inch)为单位(1英寸=2.54厘米)
- 像素密度(dpi:dots per inch或PPI:pixels per inch),即每英寸的像素点数,数值越高显示越细腻
如下图:分辨率为1080×1920,尺寸为5英寸,根据勾股定理对角线的像素约2203,那么像素密度大约为440
密度分级
因为手机的像素密度千奇百怪,在屏幕适配的时候必须按一定规则分类,于是有了密度分级,每部Android手机都有一个初始的固定密度,120、160、320、480……通常情况240×320的屏幕是低密度120dpi即ldpi,320×480为中密度160dpi即mdpi,480*800为高密度240dpi即hdpi,720×1280为超高密度320dpi即xhpi,1080×1920为超超高密度480dpi即xxhdpi
dp密度无关的像素
dp也成为dip即density-independent pixel,为了实现在不同分辨率的屏幕上显示“看上去”一样大小需要使用dp来指定尺寸。
文字尺寸一般使用sp即scale-independentpixel,这样字体的大小就会随着系统设置调节字号的大小而改变
dp与px的转换
像素密度为160dpi的中密度手机屏幕为基准屏幕,即320×480的屏幕,此时1dp=1px
像素密度为240dpi的高密度屏幕,即480×800的屏幕,为了显示一张在320×480屏幕“看上去”一样大小的尺寸,需要把尺寸放大1.5倍,此时1dp=1.5px
一次类推dp在不同像素密度下的比例为:ldpi:mdpi:xhdpi:xxhdpi=3:4:6:8:12,间隔数字之间是2的倍数
当Android系统字号设为“普通”时,sp与px的尺寸换算和dp与px一样
建议
目前市面上普遍的机型为720×1280即xhdpi,此时1dp=2px,图片资源放在drawable-xhdpi文件夹中

