劉海屏的縱橫比
手機 | 分辨率 | 屏幕縱橫比 | 劉海高度 | 劉海寬度 | 圓角大小 |
---|---|---|---|---|---|
正常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的劉海屏只有一個攝像頭大小。
部分安卓可以在設置中關閉劉海,屏幕兩邊留出黑邊,相當於屏幕變小了,比如華為手機:顯示-顯示區域控制