Skip to content

Android 屏幕适配

shewenbiao edited this page Apr 16, 2021 · 1 revision

常见的简单适配方案有最小宽度(Smallest-width)限定符(比如sw360dp, dp:(density-independent pixel)密度无关像素),分辨率(常见分辨率有320x480、480x800、720x1280、1080x1920),像素密度(hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi等,dpi:(dots per ich)每英寸的像素点数)。

优先级:最小宽度(Smallest-width)限定符 > 分辨率 > 像素密度

有时候需要几个联合使用,比如values-sw360dp-xhdpi-1280x720,values-sw360dp-xhdpi,values-sw360dp-1280x720,values-xhdpi-1280x720.

注意点: 按具体分辨率适配的话,并不是在各设备上都能针该设备的分辨率做准确适配。比如一个设备的分辨率是1080x2280的,按常规来想的话为了准确适配该机型的分辨率,会创建valuse-2280x1080,layout-2280x1080等目录,在该设备上系统会去自动取这些目录下的值,但是结果并不是这样,在该设备上系统没有取对应分辨率的目录。经多次验证,发现只有google定义的320x480、480x800、720x1280、1080x1920才起作用,其他分辨率设备在适配的时候会去这几个接近本身分辨率的目录下取值。

Reference

  1. Android 屏幕适配:最全面的解决方案
Clone this wiki locally