Android 手機適配劉海(華為 vivo)

2021-08-23 12:29:18 字數 1291 閱讀 5492

直接開始。

android 劉海屏適配方案

一、vivo的劉海適配直接官方文件

(長螢幕)

google 適配全面屏要求,必須在androidmanifest.xml宣告一下meta-data,應用下可以全屏顯示:

或者android:maxaspectratio="ratio_float"(api level 26)

ratio_float為手機螢幕的高和寬的比例,如手機螢幕為2280×1080 19:9的解析度,則ratio_float = 19/9≈2.11,設定比該值大即可全屏顯示。

在android 7.0以上google預設支援了分屏模式,設定android:resizeableactivity="true" 同樣可以讓應用全屏顯示

二、華為  官方文件

華為做的比較詳細了,

先判斷是否有劉海,直接copy官方**

public static boolean hasnotchinscreen(context context)  catch (classnotfoundexception e)  catch (nosuchmethodexception e)  catch (exception e)  finally 

}

二、獲取劉海尺寸

public static int getnotchsize(context context) ;

try catch (classnotfoundexception e) catch (nosuchmethodexception e) catch (exception e) finally

}

其實得到這些可以自行處理,比如,,判斷有的話處理一下沒有的話就把尺寸獲取到,做出一些相應的處理。

小公尺 判斷是否有

系統增加了 property ro.miui.notch,值為1時則是 notch 屏手機。

systemproperties.getint("ro.miui.notch", 0) == 1;
獲取劉海高度

int resourceid = context.getresources().getidentifier("notch_height", "dimen", "android");

if (resourceid > 0)

官方文件給出了很多的方法,,可以檢視文件

再一次給出連線

華為 oppo 

vivo 

google 

小公尺  

Android 劉海屏適配總結

劉海屏手機因為比平常的手機多了一塊頂部的遮擋性劉海,所以會造成頂部 以及搜尋框的遮擋,而且有些廠商的手機 vivo 華為 預設是在 無狀態列 的介面將狀態列進行黑化顯示,這時候會導致系統下移,從而導致底部的一些 ui 被截斷。除此之外,一些控制項的顯示規則還會受到影響,如 popupwindow 的...

android 全面屏 劉海屏有效適配

手機廠商追求高使用者體驗,螢幕寬高比越做越高。17 9 19 10 18 9 18.5 9所謂全面屏。原來一般主流手機1920 1080解析度 16 9高寬比。如果沒有單獨去配置屬性,會導致在超過17 9寬高比手機上,底部一大塊黑底。在應用配置檔案androidmanifest.xml中顯式宣告支援...

unity NGUI iphoneX劉海適配

參考 1.上面文章的方法 ngui介面元素 處理不好會超出螢幕之外 2.網上有關於 更改nguitools 的getsides 方法 實踐證明 這個方法可能永遠不呼叫 3.以下是個人使用方法 a 平時實驗中,更改camara 的 viewport rect 可以實現割屏效果 b 於是在原始碼中找到相...