2016-02-16 19 views

cevap

35

sadece StatusBar.currentHeight kullanın (artık) Bunun için herhangi bir eklenti gerekmez:

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

DÜZENLEME: Anlaşılan bu her zaman Android'de çalışmıyor gibi görünüyor, ama yok iOS'ta, başlangıçta undefined gerçekten döndürülür: (

+1

Bu Doğalöğesini tepki üzerine iOS'ta tepki yerli .. – Arnold

+0

döndü undefined var 0.39.2. – Joost

+1

beni StatusBar.currentHeight (tanımsız) çalışmıyor için en yeni sürümü çalışır @Arnold ben –

11

Maalesef v0.34 itibariyle bunu yapmak için API hala platformlarda tutarsız. StatusBarManager.HEIGHT size Android'de Durum Bar şimdiki yükseklik verecektir.

Eğer uygulama varsayılan iOS davranışa benzer Android'de durum çubuğunun altında çizmek istiyorsanız
import { Platform, NativeModules } from 'react-native'; 
const { StatusBarManager } = NativeModules; 

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

iOS'ta, sen bir yan not olarak getHeight()

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

kullanabilirsiniz ayarını yapabilirsiniz <StatusBar> bir çift sahne şöyledir:

<StatusBar translucent={true} backgroundColor={'transparent'} {...props} /> 
+0

Benim günümü kurtardınız ... – Kim

+0

IOS her zaman 20 durum çubuğu yüksekliğinde? –

+0

@ DanielJosePadillaPeña Evet. Gizli olmadıkça veya gelen bir çağrı sırasında bir uygulama etkin değilse, bu durumda 40 puan olur. – jmurzy