Android劉海屏適配庫NotchFit使用詳細介紹!!!
阿新 • • 發佈:2018-11-08
NotchFit是一款Android端的劉海屏適配庫,適配了O版本和P版本,它遮蔽了不同廠商不同裝置不同系統版本對劉海屏適配帶來的一系列的繁雜的問題。
NotchFit可以智慧的判斷劉海的邏輯引數,所謂的劉海邏輯引數是該庫對裝置劉海蔘數的一個抽象獲取,劉海邏輯引數不單是獲取裝置的硬體引數,還會根據系統的設定(如小米、華為等手機可以在系統中控制劉海區域的使用與否)等條件判斷當前螢幕的統一的UI佈局狀態,檢查是否需要進行劉海適配。
總之:開發者不用關心具體裝置和系統版本之間的差異,只需要通過回撥函式中獲取的劉海邏輯引數適配自己的UI佈局即可。
使用方式:
1、自定義適配
開發者對需要進行劉海適配的UI佈局,通過劉海邏輯引數自定義適配。
NotchFit.fit(this, new OnNotchCallBack() { @Override public void onNotchReady(NotchProperty notchProperty) { if(notchProperty.isNotchEnable()){ int notchHeight = notchProperty.getNotchHeight(); //通過獲取的notchHeight劉海高度引數,對UI佈局進行適配 } } });
2、全屏適配
NotchFit不單回撥獲取了劉海邏輯引數,還對當前Activity進行了全屏顯示處理。
NotchFit.fit(this, NotchScreenType.FULL_SCREEN, new OnNotchCallBack() { @Override public void onNotchReady(NotchProperty notchProperty) { if(notchProperty.isNotchEnable()){ if(notchProperty.isNotchEnable()){ int notchHeight = notchProperty.getNotchHeight(); //通過獲取的notchHeight劉海高度引數,對UI佈局進行適配 } } } });
3、沉浸適配
NotchFit不單回撥獲取了劉海邏輯引數,還對當前Activity進行了沉浸顯示處理。
NotchFit.fit(this, NotchScreenType.TRANSLUCENT, new OnNotchCallBack() {
@Override
public void onNotchReady(NotchProperty notchProperty) {
if(notchProperty.isNotchEnable()){
if(notchProperty.isNotchEnable()){
int notchHeight = notchProperty.getNotchHeight();
//通過獲取的notchHeight劉海高度引數,對UI佈局進行適配 }
}
}
});
4、黑條填充
如果想快速對app中的全屏UI進行統一劉海適配,對劉海區域進行黑條填充,UI佈局統一下移劉海的高度可以說是一個比較快捷的適配方式。
此api可以一鍵完成此工作。
NotchFit.fitUnUse(activity);
5、啟用劉海
對於某些廠商裝置(如小米、華為)需要通過AndroidManifest配置或程式碼控制使app支援劉海區域的使用,NotchFit提供了對劉海區域一鍵支援使用的介面,通過此介面可以使app一鍵支援劉海使用。
NotchFit.applyNotch(activity, true);
更多使用方式可檢視github NotchFit
如有問題,歡迎指出,謝謝!!!