将本机锁定应用程序应用于横向问题

时间:2017-07-30 18:13:17

标签: orientation react-native-android

我已将我的反应应用程序锁定到横向,方法是将以下代码添加到Application标记(在Manifest中)和每个活动标记内

android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|screenSize

工作正常,直到我添加了文件读取的模块react-native-fs

现在,当应用程序启动时,屏幕将旋转为横向,但如果用户将手机旋转为纵向,则屏幕也会旋转为纵向(它应保持横向显示)。

我尝试过的事情

  • 添加了android:screenOrientation =" landscape"在模块的清单中。
  • 在MainApplication中注册了 registerActivityLifecycleCallbacks 并添加了activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);在onActivityCreated中。

仍然没有锁定景观。

即使旋转到肖像,应用也应锁定到横向。

2 个答案:

答案 0 :(得分:1)

我不完全确定,但我认为您需要使用android:configChanges="keyboardHidden|orientation|screenSize"

答案 1 :(得分:0)

我弄明白了这个问题。 React-Native-Navigation库导致了这个问题。 它在控制器包中有一个 ActivityCallBacks 类。在 onActivityCreated()中添加以下代码解决了问题:

 activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);