Jak uzyskać szerokość ekranu w natywnym React?
(Potrzebuję tego, ponieważ używam pewnych absolutnych komponentów, które się nakładają, a ich pozycja na ekranie zmienia się z różnymi urządzeniami)
react-native
Zygro
źródło
źródło
Dimensions.get('window').width
?Po prostu zadeklaruj ten kod, aby uzyskać szerokość urządzenia
Może to oczywiście, ale Dimensions jest importem natywnym dla reagowania
Bez tego wymiary nie będą działać
źródło
Jeśli masz komponent stylu, którego możesz wymagać od swojego komponentu, możesz mieć coś takiego na początku pliku:
Następnie możesz dodać
fulscreen: {width: window.width, height: window.height},
komponent Styl. Mam nadzieję że to pomożeźródło
React Native Dimensions jest tylko częściową odpowiedzią na to pytanie, przyszedłem tutaj, szukając rzeczywistego rozmiaru ekranu w pikselach, a wymiary faktycznie zapewniają rozmiar układu niezależny od gęstości.
Możesz użyć opcji React Native Pixel Ratio, aby uzyskać rzeczywisty rozmiar ekranu w pikselach.
Potrzebujesz instrukcji importu zarówno dla Dimenions, jak i PixelRatio
Możesz użyć destrukturyzacji obiektów do tworzenia globalnych szerokości i wysokości lub umieszczać je w arkuszach stylów, jak sugerują inni, ale uważaj, to nie zaktualizuje się przy zmianie orientacji urządzenia.
Z dokumentów React Native Dimension :
Link PixelRatio Docs dla tych, którzy są ciekawi, ale niewiele więcej tam.
Aby faktycznie uzyskać rozmiar ekranu, użyj:
lub jeśli nie chcesz, aby szerokość i wysokość były globalne, możesz ich użyć w dowolnym miejscu
źródło
React Native zawiera interfejs API „Dimensions”, który musimy zaimportować z pliku „React-Native”
Następnie,
źródło
10 kwietnia 2020 Odpowiedź:
Sugerowane użycie odpowiedzi
Dimensions
jest teraz odradzane. Zobacz: https://reactnative.dev/docs/dimensionsZalecanym podejściem jest użycie
useWindowDimensions
hooka w Reakcie; https://reactnative.dev/docs/usewindowdimensions, który korzysta z interfejsu API opartego na hakach, a także aktualizuje wartość, gdy zmienia się wartość ekranu (na przykład przy obracaniu ekranu):Uwaga:
useWindowDimensions
jest dostępne tylko w React Native 0.61.0: https://reactnative.dev/blog/2019/09/18/version-0.61źródło
Tylko dwa proste kroki.
import { Dimensions } from 'react-native'
u góry pliku.const { height } = Dimensions.get('window');
teraz wysokość ekranu okna jest przechowywana w zmiennej wysokości.
źródło
Właśnie odkryłem
react-native-responsive-screen
repozytorium tutaj . Okazało się to bardzo przydatne.źródło
Myślę, że używanie
react-native-responsive-dimensions
może pomóc ci trochę lepiej w twojej sprawie.Nadal możesz otrzymać:
device-width za pomocą i
responsiveScreenWidth(100)
i
wysokość urządzenia za pomocą i
responsiveScreenHeight(100)
Możesz również łatwiej rozmieścić lokalizacje swoich absolutnych komponentów, ustawiając marginesy i wartości pozycji z proporcjonowaniem ich na 100% szerokości i wysokości
źródło