将本机 Lock 应用程序反应到横向问题
React native Lock app to landscape issue
我通过将以下代码添加到应用程序标签(在清单中)和每个活动标签内,将我的 React 应用程序锁定为景观
android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|screenSize
它工作正常,直到我添加了用于文件读取的模块 react-native-fs
现在,当应用程序启动时,屏幕会旋转为横向,但如果用户将 phone 旋转为纵向,屏幕也会旋转为纵向(它应该保持横向)。
我试过的东西
- 在模块清单中添加了 android:screenOrientation="landscape"。
- 在MainApplication中注册了registerActivityLifecycleCallbacks并添加了activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);在 onActivityCreated 中。
仍然没有锁定横向。
即使旋转为纵向,应用也应锁定为横向。
我不是很确定,但我认为你需要使用 android:configChanges="keyboardHidden|orientation|screenSize"
我想通了。 React-Native-Navigation 库导致了这个问题。
它在 Controller 包中有一个 class ActivityCallBacks 。在 onActivityCreated() 中添加以下代码解决了问题:
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
我通过将以下代码添加到应用程序标签(在清单中)和每个活动标签内,将我的 React 应用程序锁定为景观
android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|screenSize
它工作正常,直到我添加了用于文件读取的模块 react-native-fs
现在,当应用程序启动时,屏幕会旋转为横向,但如果用户将 phone 旋转为纵向,屏幕也会旋转为纵向(它应该保持横向)。
我试过的东西
- 在模块清单中添加了 android:screenOrientation="landscape"。
- 在MainApplication中注册了registerActivityLifecycleCallbacks并添加了activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);在 onActivityCreated 中。
仍然没有锁定横向。
即使旋转为纵向,应用也应锁定为横向。
我不是很确定,但我认为你需要使用 android:configChanges="keyboardHidden|orientation|screenSize"
我想通了。 React-Native-Navigation 库导致了这个问题。 它在 Controller 包中有一个 class ActivityCallBacks 。在 onActivityCreated() 中添加以下代码解决了问题:
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);