如何通過React Native找到Android上狀態欄的高度?如何通過React Native在Android中查找狀態欄的高度?
如果我檢查React.Dimensions
高度值似乎也包括狀態欄高度,但我試圖找到沒有狀態欄的佈局的高度。
如何通過React Native找到Android上狀態欄的高度?如何通過React Native在Android中查找狀態欄的高度?
如果我檢查React.Dimensions
高度值似乎也包括狀態欄高度,但我試圖找到沒有狀態欄的佈局的高度。
你並不需要爲這個(再)任何插件,只需使用StatusBar.currentHeight
:
import {StatusBar} from 'react-native;
console.log('statusBarHeight: ', StatusBar.currentHeight);
編輯:顯然,這似乎在Android上總是工作,但在iOS上,最初確實返回undefined
: (
不幸的是,v0.34的,要做到這一點的API仍然是跨平臺的不一致。StatusBarManager.HEIGHT
會給你在Android的狀態欄的當前高度。
import { Platform, NativeModules } from 'react-native';
const { StatusBarManager } = NativeModules;
const STATUSBAR_HEIGHT = Platform.OS === 'ios' ? 20 : StatusBarManager.HEIGHT;
在iOS上,您可以使用getHeight()
StatusBarManager.getHeight((statusBarHeight)=>{
console.log(statusBarHeight)
})
作爲一個側面說明,如果你希望你的應用在Android類似iOS預設的行爲狀態欄下畫,你可以通過設置這樣做在<StatusBar>
一對夫婦的道具如下:
<StatusBar translucent={true} backgroundColor={'transparent'} {...props} />
我得到未定義,返回 – Arnold
@Arnold它可以在反應本土.. – Joost
對我來說StatusBar.currentHeight不起作用(不確定)的最新版本,在iOS上反應原住民0.39.2。 –