¿Cómo obtengo el ancho de la pantalla en React native?
(Lo necesito porque utilizo algunos componentes absolutos que se superponen y su posición en la pantalla cambia con diferentes dispositivos)
react-native
Zygro
fuente
fuente
Dimensions.get('window').width
?Simplemente declare este código para obtener el ancho del dispositivo
Tal vez sea obvio, pero Dimensions es una importación nativa de reacción
Las dimensiones no funcionarán sin eso
fuente
Si tiene un componente de estilo que puede requerir de su componente, entonces podría tener algo como esto en la parte superior del archivo:
Y luego podría proporcionar
fulscreen: {width: window.width, height: window.height},
en su componente Estilo. Espero que esto ayudefuente
React Native Dimensions es solo una respuesta parcial a esta pregunta, vine aquí buscando el tamaño de píxel real de la pantalla, y las dimensiones en realidad le brindan un tamaño de diseño independiente de la densidad.
Puede usar React Native Pixel Ratio para obtener el tamaño de píxel real de la pantalla.
Necesita la declaración de importación para Dimenions y PixelRatio
Puede usar la desestructuración de objetos para crear globales de ancho y alto o ponerlo en hojas de estilo como sugieren otros, pero tenga en cuenta que esto no se actualizará en la reorientación del dispositivo.
De React Native Dimension Docs:
Enlace de PixelRatio Docs para aquellos que tienen curiosidad, pero no hay mucho más.
Para obtener realmente el uso del tamaño de la pantalla:
o si no desea que el ancho y la altura sean globales, puede usarlo en cualquier lugar como este
fuente
React Native viene con la api "Dimensions" que necesitamos importar desde 'react-native'
Luego,
fuente
Respuesta del 10 de abril de 2020:
Dimensions
Ahora se desaconseja el uso de la respuesta sugerida . Ver: https://reactnative.dev/docs/dimensionsEl enfoque recomendado es usar el
useWindowDimensions
gancho en React; https://reactnative.dev/docs/usewindowdimensions que usa una API basada en hook y también actualizará su valor cuando cambie el valor de la pantalla (en la rotación de la pantalla, por ejemplo):Nota:
useWindowDimensions
solo está disponible en React Native 0.61.0: https://reactnative.dev/blog/2019/09/18/version-0.61fuente
Solo dos sencillos pasos.
import { Dimensions } from 'react-native'
en la parte superior de su archivo.const { height } = Dimensions.get('window');
ahora la altura de la pantalla de la ventana se almacena en la variable de altura.
fuente
Acabo de descubrir el
react-native-responsive-screen
repositorio aquí . Lo encontré muy útil.fuente
Creo que usarlo
react-native-responsive-dimensions
podría ayudarte un poco mejor en tu caso.Todavía puede obtener:
ancho del dispositivo usando y
responsiveScreenWidth(100)
y
altura del dispositivo usando y
responsiveScreenHeight(100)
También puede organizar más fácilmente las ubicaciones de sus componentes absolutos estableciendo márgenes y valores de posición proporcionándolos sobre el 100% del ancho y alto.
fuente