Comment obtenir la largeur de l'écran dans React native?
(J'en ai besoin car j'utilise des composants absolus qui se chevauchent et leur position à l'écran change avec différents appareils)
react-native
Zygro
la source
la source
Dimensions.get('window').width
?Déclarez simplement ce code pour obtenir la largeur de l'appareil
C'est peut-être évidemment mais, Dimensions est une importation native de réaction
Les dimensions ne fonctionneront pas sans cela
la source
Si vous avez un composant de style que vous pouvez exiger de votre composant, vous pourriez avoir quelque chose comme ceci en haut du fichier:
Et puis vous pouvez fournir
fulscreen: {width: window.width, height: window.height},
dans votre composant Style. J'espère que cela t'aidesla source
React Native Dimensions n'est qu'une réponse partielle à cette question, je suis venu ici à la recherche de la taille réelle des pixels de l'écran, et les dimensions vous donnent en fait une taille de mise en page indépendante de la densité.
Vous pouvez utiliser React Native Pixel Ratio pour obtenir la taille réelle des pixels de l'écran.
Vous avez besoin de l'instruction d'importation pour Dimenions et PixelRatio
Vous pouvez utiliser la déstructuration d'objet pour créer des globaux de largeur et de hauteur ou le mettre dans des feuilles de style comme d'autres le suggèrent, mais attention, cela ne sera pas mis à jour lors de la réorientation de l'appareil.
À partir de la documentation React Native Dimension :
Lien PixelRatio Docs pour ceux qui sont curieux, mais pas beaucoup plus.
Pour obtenir la taille de l'écran, utilisez:
ou si vous ne voulez pas que la largeur et la hauteur soient globales, vous pouvez l'utiliser n'importe où comme celui-ci
la source
React Native est fourni avec l'API "Dimensions" que nous devons importer depuis "react-native"
Ensuite,
la source
10 avril 2020 Réponse:
La réponse suggérée en utilisant
Dimensions
est maintenant déconseillée. Voir: https://reactnative.dev/docs/dimensionsL'approche recommandée utilise le
useWindowDimensions
hook dans React; https://reactnative.dev/docs/usewindowdimensions qui utilise une API basée sur un hook et mettra également à jour votre valeur lorsque la valeur de l'écran change (sur la rotation de l'écran par exemple):Remarque:
useWindowDimensions
est uniquement disponible à partir de React Native 0.61.0: https://reactnative.dev/blog/2019/09/18/version-0.61la source
Seulement deux étapes simples.
import { Dimensions } from 'react-native'
en haut de votre dossier.const { height } = Dimensions.get('window');
maintenant la hauteur de l'écran de la fenêtre est stockée dans la variable de hauteur.
la source
Je viens de découvrir le
react-native-responsive-screen
repo ici . Je l'ai trouvé très pratique.la source
Je pense que l'utilisation
react-native-responsive-dimensions
pourrait vous aider un peu mieux sur votre cas.Vous pouvez toujours obtenir:
largeur de l'appareil en utilisant et
responsiveScreenWidth(100)
et
hauteur de l'appareil en utilisant et
responsiveScreenHeight(100)
Vous pouvez également organiser plus facilement les emplacements de vos composants absolus en définissant des marges et des valeurs de position en les proportionnant sur 100% de la largeur et de la hauteur
la source