react native Expo適配全面屏/Expo識別全面屏和正常屏


一、最新版本的expo已經默認支持了全面屏,即不會像react native cli一樣出現底部黑邊

二、但是全面屏通過Dimensions.get('window')獲取的高度還是不准確,因為全面屏的statusBar高度問題。

三、適配方案

通過獲取屏幕縱橫比來判斷是否為全面屏

1、獲取寬高

const {width,height} = Dimensions.get('window')

2、計算縱橫比

const wh = height/width

3、全面屏手機一般縱橫比wh大於1.8,正常手機屏幕小於1.8

4、獲取statusBar高度

const { StatusBarManager } = NativeModules;

5、縱橫比減去2個statusBar高度就是正常的了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM