¿Cómo encontrar la altura de la barra de estado en Android a través de React Native?
¿Cómo puedo encontrar la altura de la barra de estado en Android a través de React Native?
Si compruebo la altura de React.Dimensions
el valor parece incluir la altura de la barra de estado también pero estoy intentando encontrar la altura del diseño sin la barra de estado.
- Reinicie de forma programática una aplicación de React Native
- ¿Cómo puedo implementar Pinning del certificado SSL mientras uso React Native
- Cómo cambiar el nombre de visualización de una aplicación en reactivo-nativo
- Reaccionar la integración nativa con el fallo de la aplicación existente: "No se puede encontrar la variable: __fbBatchedBridge"
- Exponiendo puertos en Android con React-Native
- ¿Cuál es la causa de este problema "No se puede convertir el argumento de la clase de tipo org.json.JSONArray" en reaccionar-androide nativo?
- ¿Pueden las partes nativas de un paquete de reaccionar nativo ser ejecutadas y desarrolladas de forma independiente?
- ES6 en JavaScriptCore y React Native
- JSApplicationIllegalArgumentException con React Native Android
- Reacciona Nativo y Twilio en Android
- React-native lento en Android 5.1.1 pero grande en viejo 5.1
- Reaccionar datos de almacenamiento nativos entre sesiones
- Reaccionar aplicación nativa sigue cerrando en el emulador de Android
Puede utilizar el paquete npm reaccionar-nativo-extra-dimensiones-android , que proporciona STATUS_BAR_HEIGHT
que puede utilizar para restar de la REAL_WINDOW_HEIGHT
.
No necesitas ningún complemento para esto (ya), solo usa StatusBar.currentHeight
:
import {StatusBar} from 'react-native; console.log('statusBarHeight: ', StatusBar.currentHeight);
EDIT: Al parecer esto parece funcionar en Android siempre, pero en iOS, inicialmente undefined
es de hecho devuelto 🙁
Lamentablemente, a partir de v0.34, la API para hacer esto sigue siendo inconsistente en todas las plataformas. StatusBarManager.HEIGHT
le dará la altura actual de la barra de estado en Android.
import { Platform, NativeModules } from 'react-native'; const { StatusBarManager } = NativeModules; const STATUSBAR_HEIGHT = Platform.OS === 'ios' ? 20 : StatusBarManager.HEIGHT;
En iOS, puede utilizar getHeight()
StatusBarManager.getHeight((statusBarHeight)=>{ console.log(statusBarHeight) })
Como nota secundaria, si desea que su aplicación dibuje bajo la barra de estado en Android similar al comportamiento predeterminado de iOS, puede hacerlo estableciendo un par de accesorios en <StatusBar>
siguiente manera:
<StatusBar translucent={true} backgroundColor={'transparent'} {...props} />
- "Campo se puede convertir a una variable local" aparece al configurar el color de la barra de acción
- La mejor manera de enviar solicitudes HTTP GET ansynchronously en Android?