简单记录一下,预备知识来源:安卓屏幕完美适配方案——独家秘笈
先来点预备知识
- 屏幕尺寸(in)
手机对角线的物理尺寸,单位 英寸(inch),一英寸大约2.54cm,常见的尺寸有4.7寸、5寸、5.5寸、6寸
- 屏幕像素密度(dpi):
每英寸长度上像素点个数。例如每英寸内有160个像素点,则其像素密度为160dpi。
公式: 像素密度=像素/尺寸 (dpi=px/in)
- 标准屏幕像素密度(mdpi):
每英寸长度上还有160个像素点,即称为标准屏幕像素密度(mdpi)。
- 像素密度等级:
手机真实像素密度与标准屏幕像素密度(160dpi)的比值。官方给出的0.75、1、1.5、2、3、4,即对应120dpi、160dpi、240dpi、320dpi、480dpi、640dpi。
- px与dp关系:
像素=dp * 像素密度等级,即px=dp * (dpi/160)
一张图非常清晰的展现了现在手机的分辨率集中在1080P左右:
现有的全面屏
现有的全面屏厂商主要是小米,LG,三星;1080P左右的手机高宽比一般是16:9,而全面屏手机的高宽比17:9,19:10,18.5:9等.
16:9 = 1.7778 (ratio_float)
18.5:9 = 2.056 (ratio_float)
Android 默认最大屏幕比是1.86,基本上全面屏手机都超过了这个值,默认情况下应用在全面屏上的展示是:
head和bottom都会有留白
适配方案:
在AndroidManifest.xml中加入如下配置:
<meta-data android:name="android.max_aspect" android:value="ratio_float"/>
ratio_float 改成2.1或者更大即可,如:
<meta-data android:name="android.max_aspect" android:value="2.1"/>
Update your app to take advantage of the larger aspect ratio on new Android flagship devices
对于虚拟键的适配
参考: 全面屏及虚拟键适配说明