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ď č. 1Už 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} />