Dimensions — get device screen dimensions.
Basic usage:
1import { Dimensions, StyleSheet } from "react-native";23const { width, height } = Dimensions.get("window");45const styles = StyleSheet.create({6 container: {7 width: width,8 height: height,9 },10 halfWidth: {11 width: width / 2,12 },13});
Listen for dimension changes:
1import { useEffect, useState } from "react";23function ResponsiveComponent() {4 const [dimensions, setDimensions] = useState(5 Dimensions.get("window")6 );78 useEffect(() => {9 const subscription = Dimensions.addEventListener(10 "change",11 ({ window }) => {12 setDimensions(window);13 }14 );15 return () => subscription?.remove();16 }, []);1718 return (19 <View style={{ width: dimensions.width }}>20 <Text>Width: {dimensions.width}</Text>21 </View>22 );23}
Alternative: useWindowDimensions (recommended):
1import { useWindowDimensions } from 'react-native';23function MyComponent() {4 const { width, height } = useWindowDimensions();5 return <Text>{width}x{height}</Text>;6}