Wie finde ich die Höhe der Statusleiste in Android bis React Native?
Wenn ich das React.Dimensions
height Der Wert scheint auch die Höhe der Statusleiste zu enthalten, aber ich versuche, die Höhe des Layouts ohne die Statusleiste zu ermitteln.
Du brauchst dafür keine Plugins mehr, benutze einfach StatusBar.currentHeight
:
import {StatusBar} from 'react-native';
console.log('statusBarHeight: ', StatusBar.currentHeight);
BEARBEITEN: Anscheinend funktioniert dies auf Android immer, aber auf iOS wird anfangs undefined
tatsächlich zurückgegeben :(
Leider ist die dazu erforderliche API ab Version 0.34 immer noch plattformübergreifend inkonsistent. StatusBarManager.HEIGHT
Gibt Ihnen das aktuelle Höhe der Statusleiste auf Android.
import { Platform, NativeModules } from 'react-native';
const { StatusBarManager } = NativeModules;
const STATUSBAR_HEIGHT = Platform.OS === 'ios' ? 20 : StatusBarManager.HEIGHT;
Unter iOS können Sie getHeight()
verwenden.
StatusBarManager.getHeight((statusBarHeight)=>{
console.log(statusBarHeight)
})
Nebenbei bemerkt, wenn Sie möchten, dass Ihre App unter der Statusleiste auf Android= ähnlich dem Standardverhalten von iOS) gezeichnet wird, können Sie dies tun, indem Sie ein paar Requisiten auf <StatusBar>
Setzen. wie folgt:
<StatusBar translucent={true} backgroundColor={'transparent'} {...props} />