我想将应用程序的第一个屏幕的方向锁定为纵向。在某些屏幕上,我需要横向放置。我正在使用react-native-orientation插件。但是,当我启动该应用程序时,我会看到一段时间的横向,然后迅速旋转为纵向。接下来的屏幕可以。
这是我的代码:
componentDidMount() {
Orientation.lockToPortrait();
}
是否可以解决此性能问题?
答案 0 :(得分:1)
在您的页面中添加以下延迟定向锁定的代码:
componentWillMount(){
Orientation.lockToPortrait();
Orientation.addOrientationListener(this._orientationDidChange);
}
_orientationDidChange(orientation) {
Orientation.lockToPortrait();
}
componentWillUnmount() {
// remove listener
Orientation.removeOrientationListener(this._orientationDidChange);
}
答案 1 :(得分:0)
react-native-orientation似乎不再保持。
我建议您使用react-native-orientation-locker,它也提供Orientation.lockToPortrait()
答案 2 :(得分:0)
这是我的错误。 我在一类中使用了冗余代码:
const setLandscapeRightOrientation = Platform.select({
ios: Orientation.lockToLandscapeRight(),
android: Orientation.lockToLandscapeLeft(),
});