为游戏适配刘海屏

刘海屏的纵横比

手机 分辨率 屏幕纵横比 刘海高度 刘海宽度 圆角大小
正常1080 1080*1920 1.7777
iphone x 1125*2436 2.16533
iphone xs max 1242*2688 2.16425
华为P20 pro 1080*2240 2.074074 81
华为荣耀 10 1080*2280 2.11111 90
小米8 1080*2248 2.0814 89 560
小米8 SE 1080*2248 2.0814 85 540
oppo 1080*2200 2.037 80 324
vivo 1080*2280 2.11111 27 100 50
联想z5 2246*1080 2.079

通过表中的数据,可以得出结论:刘海屏的屏占高更高,如果我们的游戏是横屏,那么界面就会更长。

适配思路

知道这个特性之后,就可以对我们的界面进行锚点,分为 左 ,中 ,右,背景 四部分。

当在刘海屏下,左右都往中间靠,具体为:左部分往右方向偏移 X1,右部分往左方向偏移X2,背景是全屏的,中间部分不动

适配示例

比如我们的全屏界面,可以这样处理

而当非全屏界面时,可以对界面下所有第一层节点,进行整体往左偏移X1,达到适配

模拟刘海屏

如果有Android P的机型做测试,那是最好的。但是目前安卓模拟器的系统普遍还没有更新到Android 9,而且想下载Google的模拟器也那么不容易,所以建议在Unity的编辑器下进行测试。

在Unity中模拟刘海屏的分辨率,观察效果

各厂商的刘海屏适配方案

华为刘海屏:https://developer.huawei.com/consumer/cn/devservice/doc/50114?from=timeline

小米刘海屏:

https://blog.csdn.net/wypeng2010/article/details/81065049l

OPPO刘海屏适配官方文档

https://open.oppomobile.com/service/message/detail?id=61876

vivo刘海屏适配官方文档

https://dev.vivo.com.cn/documentCenter/doc/103

google官方

https://developer.android.com/preview/features

google的刘海屏只有一个摄像头大小。

部分安卓可以在设置中关闭刘海,屏幕两边留出黑边,相当于屏幕变小了,比如华为手机:显示-显示区域控制

posted @ 2018-12-10 21:20  赵青青  阅读(4394)  评论(0编辑  收藏  举报