一、最新版本的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高度就是正常的了