Answers:
React Native Dimensions仅是该问题的部分答案,我来这里是为了寻找屏幕的实际像素大小,而Dimensions实际上为您提供了密度独立的布局大小。
您可以使用React Native Pixel Ratio来获取屏幕的实际像素大小。
您需要维度和PixelRatio的import语句
import { Dimensions, PixelRatio } from 'react-native';
您可以使用对象分解来创建宽度和高度全局变量,也可以像其他人建议的那样将其放入样式表中,但是请注意,这不会在设备重新定向时更新。
const { width, height } = Dimensions.get('window');
从React Native Dimension Docs:
注意:尽管尺寸立即可用,但它们可能会更改(例如,由于>设备旋转),因此任何依赖于这些常量的渲染逻辑或样式>应尝试在每个渲染上调用此函数,而不是缓存值>(例如,使用内联样式,而不是在StyleSheet中设置值)。
PixelRatio Docs链接为那些有好奇心的人,但那里没有更多。
要实际获得屏幕尺寸,请使用:
PixelRatio.getPixelSizeForLayoutSize(width);
或者如果您不希望宽度和高度成为全局变量,则可以在这样的任何地方使用它
PixelRatio.getPixelSizeForLayoutSize(Dimensions.get('window').width);
2020年4月10日答案:
Dimensions
现在不建议使用的答案。请参阅:https://reactnative.dev/docs/dimensions
推荐的方法是useWindowDimensions
在React中使用钩子;https://reactnative.dev/docs/usewindowdimensions,它使用基于钩子的API,并且在屏幕值更改时(例如,在屏幕旋转时)也会更新您的值:
import {useWindowDimensions} from 'react-native';
const windowWidth = useWindowDimensions().width;
const windowHeight = useWindowDimensions().height;
注意:useWindowDimensions
仅可从React Native 0.61.0获得:https ://reactnative.dev/blog/2019/09/18/version-0.61
仅两个简单步骤。
import { Dimensions } from 'react-native'
在文件顶部。const { height } = Dimensions.get('window');
现在,窗口屏幕的高度存储在height变量中。
Dimensions.get('window').width
如何使用?