为游戏适配刘海屏
劉海屏的縱橫比
| 正常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 |
| 聯(lián)想z5 | 2246*1080 | 2.079 | |||
通過表中的數(shù)據(jù),可以得出結(jié)論:劉海屏的屏占高更高,如果我們的游戲是橫屏,那么界面就會(huì)更長(zhǎng)。
適配思路
知道這個(gè)特性之后,就可以對(duì)我們的界面進(jìn)行錨點(diǎn),分為 左 ,中 ,右,背景 四部分。
當(dāng)在劉海屏下,左右都往中間靠,具體為:左部分往右方向偏移 X1,右部分往左方向偏移X2,背景是全屏的,中間部分不動(dòng)
適配示例
比如我們的全屏界面,可以這樣處理
而當(dāng)非全屏界面時(shí),可以對(duì)界面下所有第一層節(jié)點(diǎn),進(jìn)行整體往左偏移X1,達(dá)到適配
模擬劉海屏
如果有Android P的機(jī)型做測(cè)試,那是最好的。但是目前安卓模擬器的系統(tǒng)普遍還沒有更新到Android 9,而且想下載Google的模擬器也那么不容易,所以建議在Unity的編輯器下進(jìn)行測(cè)試。
在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的劉海屏只有一個(gè)攝像頭大小。
部分安卓可以在設(shè)置中關(guān)閉劉海,屏幕兩邊留出黑邊,相當(dāng)于屏幕變小了,比如華為手機(jī):顯示-顯示區(qū)域控制
總結(jié)
- 上一篇: 面试基础算法及编程 第二弹(链表相关:主
- 下一篇: form表单总结