直接開始。
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
小公尺
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 於是在原始碼中找到相...