如何在反应导航中将屏幕方向锁定为纵向模式?

How can i lock the screen orientation to portrait mode in react navigation?

如何在 React Navigation 中将屏幕模式锁定为纵向模式?

我使用的React导航版本:4.0.10

这是我的导航结构

const AppNavigation = createSwitchNavigator({
    Initialize: {
        //screen: SplashScreen,
        screen: Login,
    },
    ApplicationIntro: {
        screen: ApplicationIntro,
        navigationOptions: {
            header: null,
        },
    },
    Auth: AuthNavigation,
    Home: Home,
});

文档中没有关于通过 navigationOptionsdefaultNavigationOptions 传递参数来处理屏幕方向的内容。

是否可以在不使用任何其他库的情况下将屏幕模式锁定为 "portrait"?

我不认为 react-navigation 提供了方向 属性。所以你可以使用 react-native-orientation (https://www.npmjs.com/package/react-native-orientation) but as you can see its not updated from last two years and its listener also not work properly sometime. So, then i used react-native-orientation-locker (https://www.npmjs.com/package/react-native-orientation-locker),我没有发现这个有任何问题。 所以你可以使用 react-native-orientation-locker(请在使用 yarn 安装时检查拼写,因为他们拼错了)。

设置方向纵向模式的最简单方法之一,将这段代码 android:screenOrientation="portrait" 添加到 android 清单文件中的 activity 标记,就像这样

在清单中,为您的所有活动设置此项:

<activity android:name=".YourActivity"
    android:configChanges="orientation"
    android:screenOrientation="portrait"/>