1. 程式人生 > >為遊戲適配劉海屏

為遊戲適配劉海屏

劉海屏的縱橫比

手機 解析度 螢幕縱橫比 劉海高度 劉海寬度 圓角大小
正常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,達到適配

在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的劉海屏只有一個攝像頭大小。

部分安卓可以在設定中關閉劉海,螢幕兩邊留出黑邊,相當於螢幕變小了,比如華為手機:顯示-顯示區域控制