4

当应用程序以横向模式启动时,它以横向模式打开并切换回纵向,尽管方向以编程方式设置为纵向。我想当屏幕方向以编程方式设置为纵向时,无论您在哪种模式下启动,应用程序都应该保持纵向模式。我知道如果我们在 Manifest 中将屏幕方向设置为纵向会解决这个问题,但我需要以编程方式设置方向。让我知道是否有人遇到此问题或有任何解决此问题的想法。仅在启动应用程序时才会发生这种情况。下次旋转屏幕时,它工作正常。

下面是我用来将方向锁定为纵向的代码,

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    setContentView(R.layout.activity_main);
    }

此代码在 Android 7.1.1 以下运行良好。

4

1 回答 1

0

以下代码适用于所有设备:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} ... enter code here ...
于 2019-11-23T08:05:16.980 回答