我们在android开发过程中,经常会遇到屏幕适配相关的问题。屏幕适配有的产品比较完善从小屏幕手机到主流的大屏幕手机都进行适配,但是现在80%以上的人用的是大屏幕的手机,所以我们这个只是适配了*1920*1080*和*1280*720*这两部手机。美工也只是切了这两套图。自己梳理一下屏幕适配的流程。一般一个布局里面的宽高都会写到dimens文件夹里面,为不同的尺寸手机建立多套dimens文件,然后安卓系统会自动寻找最适合自己那套尺寸的宽高。
先来一张图:
像素密度等级 | 逻辑像素密度 | 屏幕像素 | 屏幕尺寸(inch) | 宽逻辑尺寸(dp单位) | 真实像素密度 |
---|---|---|---|---|---|
ldpi-0.75 | 120 | 240*320 | 2.7 | w320dp | 140.55 |
mdpi-1 | 160 | 320*480 | 3.2 | w320dp | 180.27 |
hdpi-1.5 | 240 | 480*800 | 3.4 | w320dp | 274.39 |
xhdpi-2 | 320 | 720*1280 | 4.65 | w360dp | 315.6 |
xhdpi-2 | 320 | 768*1280 | 4.65 | w384dp | 321 |
xxhdpi-3 | 480 | 1080*1920 | 4.95 | w360dp | 445 |
xxxdpi-4 | 640 | 1440*2560 | 5.96 | w360dp | 492 |
我是怎么适配的?
假如,在xhdpi-2(这个2是像素密度等级,在1280*720手机上 就是 1dp=2px,如果像素密度等级是3那么该手机是 1dp=3px)有一个参数是 200dp,那么在hdpi-1.5上,该参数就是 (200dp/384dp)*320dp=167dp。所以在hdpi-1.5上就是167dp,看起来有点繁琐呢。
下面是一些参数的解释: