Что эквивалентно «SafeAreaView» на android - React Native - PullRequest
1 голос
/ 05 января 2020

По сути, я создаю реактивное приложение, и я хотел, чтобы мое изображение lo go не перекрывалось с панелью уведомлений / состояния, и я не хотел устанавливать свойство marginTop вручную, потому что размер из панели уведомлений изменяется на разных моделях телефонов, и я обнаружил, что если бы я заменил свой <View/> компонент на <SafeAreaView/> компонент, моя проблема была бы решена.

И хотя он отлично работал для IOS, это не сработало для android. Конечно, после быстрого исследования я обнаружил, что это компонент IOS, и когда вы пытаетесь использовать его на Android, компонент <SafeAreaView/> возвращает обычный <View/> назад.

Итак, я пытаюсь выяснить, есть ли компонент или обходной путь, который работает на android.

Ответы [ 2 ]

3 голосов
/ 06 января 2020

Да, высота строки состояния изменяется от устройства к устройству, поэтому вы можете импортировать строку состояния из реактивной или констант из Expo, чтобы вы могли получить фактическую высоту строки состояния в зависимости от используемого устройства.

import { StyleSheet, Platform, StatusBar } from "react-native";
import Constants from 'expo-constants';
const statusBarHeight = Constants.statusBarHeight
0 голосов
/ 06 января 2020

Это не относится к Android, потому что даже если у вас есть полноэкранное приложение в Android, нет возможности перекрываться строкой состояния. Строка состояния не всегда видна, или ее можно «перетащить», чтобы она была видимой, но в обоих случаях строка состояния находится вне рабочей области приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...