/ / Ako nájsť výšku stavového riadku v systéme Android prostredníctvom React Native? - Android, reaktívny, stavový riadok

Ako zistiť výšku stavový riadok v Android cez reagovať natívne?-android, reagujú-rodák, statusbar

Ako zistím výšku stavového riadku v systéme Android prostredníctvom React Native?

Ak skontrolujem React.Dimensions výška sa zdá, že hodnota obsahuje aj stavovú lištu, ale snažím sa nájsť výšku rozloženia bez stavovej lišty.

odpovede:

40 pre odpoveď č. 1

Už na to nepotrebujete žiadne doplnky, stačí ich použiť StatusBar.currentHeight:

import {StatusBar} from "react-native";
console.log("statusBarHeight: ", StatusBar.currentHeight);

ÚPRAVA: Zdá sa, že to zrejme funguje vždy na Androide, ale na iOS undefined je skutočne vrátený :(


17 pre odpoveď č. 2

Bohužiaľ, v0.34, API na to je stále nekonzistentné naprieč platformami. StatusBarManager.HEIGHT budú vám aktuálna výška stavovej lišty pre Android.

import { Platform, NativeModules } from "react-native";
const { StatusBarManager } = NativeModules;

const STATUSBAR_HEIGHT = Platform.OS === "ios" ? 20 : StatusBarManager.HEIGHT;

V systéme iOS môžete používať getHeight()

StatusBarManager.getHeight((statusBarHeight)=>{
console.log(statusBarHeight)
})

Ak si želáte, aby sa vaša aplikácia kreslila pod stavovým riadkom v systéme Android podobne ako v predvolenom správaní v systéme iOS, môžete tak urobiť nastavením niekoľkých podper na <StatusBar> nasledovne:

<StatusBar translucent={true} backgroundColor={"transparent"} {...props} />