Intereting Posts
Мой потоковый аудиоплеер продолжает играть во время телефонного звонка – он не может остановить его! (Android) Как использовать центр представления как контрольную точку внутри RelativeLayout Android Wear Preview не подключается к Wear Emulator Приложение «Eclipse» невозможно открыть. -10810 Android: удалите сеть с определенным SSID Реализация Google Map APIv2, двоичная строка XML-файла # 6: ошибка раздувания фрагмента класса Хранить и извлекать изображение с сервера WAMP с помощью Android Android ListView – различные изображения разделителей Копирование всей папки с ее содержимым из активов во внутренние файлы приложений / Отклонить диалог и закрыть активность в одиночном обратном нажатии Не может разрешить символ «Twitter» – Твиттер Твиттера (Android) Как показать часть изображения? Проблема интеграции Paypal в титане Как реализовать разбиение на страницы в виде списка Android Как нарисовать фигуру на фрагменте карты, коснувшись ее с помощью карты google V2

Как найти высоту строки состояния в Android через React Native?

Как я могу найти высоту строки состояния на Android через React Native?

Если я React.Dimensions высоту React.Dimensions значение, похоже, также содержит высоту строки состояния, но я пытаюсь найти высоту макета без строки состояния.

Вы можете использовать пакет npm package -native-extra-dimensions-android , который предоставляет STATUS_BAR_HEIGHT который вы можете использовать для вычитания из REAL_WINDOW_HEIGHT .

Вам не нужны никакие плагины для этого (больше), просто используйте StatusBar.currentHeight :

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

EDIT: По-видимому, похоже, что это работает на Android всегда, но на iOS, первоначально undefined действительно возвращается 🙁

К сожалению, по состоянию на v0.34 API для этого все еще непоследователен на разных платформах. StatusBarManager.HEIGHT даст вам текущую высоту 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} />