我使用Dimensions类获取当前窗口宽度&高度。它的正常工作在第一次午餐时屏幕,但它现在正在改变方向。(当改变方向时没有高度 - 宽度
import React from 'react';
import {
View,
Text,
Dimensions
} from 'react-native';
const window = Dimensions.get('window');
let aspectRatio = window.Width / window.Height;
export default class Home extends PureComponent {
constructor(props) {
super(props);
}
render() {
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }>
<Text style={{ fontSize: 22}}>Height is {aspectRatio}</Text>
</View>
)
}// end of render
};
答案 0 :(得分:3)
RN为您提供了一个事件监听器,只要维度对象中的属性发生更改,您就可以使用该监听器。您可以更多地了解here。
该事件将输出一个具有屏幕尺寸信息和窗口的对象。然后,只要方向发生,您就可以简单地更新状态。
Dimensions.addEventListener('change', (e) => {
const { width, height } = e.window;
this.setState({width, height});
})