如何通过React NativefindAndroid状态栏的高度?

如何通过React Native在Android上find状态栏的高度?

如果我检查React.Dimensions高度值似乎也包括状态栏高度,但我试图find没有状态栏的布局的高度。

Solutions Collecting From Web of "如何通过React NativefindAndroid状态栏的高度?"

你可以使用npm包react-native-extra-dimensions-android ,它提供了STATUS_BAR_HEIGHT ,你可以使用它从REAL_WINDOW_HEIGHT减去。

你不需要任何插件(只要使用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} />