首页 > 解决方案 > Android - 屏幕方向问题 - 只需要纵向

问题描述

我的问题:我希望我的应用程序仅在纵向模式下运行。为此,我必须android:screenOrientation=portrait在“AndroidManifest”文件中为每个活动定义“”。我不想为每个活动定义那条线。所以我想出了另一个解决方案,比如创建一个 ' ' 的子类并在方法中Application注册一个“ ”我已经添加了行 activity's life cycleonActivityCreated

activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

但是现在,问题是这个“设备自动旋转已启用,当前设备位置是横向的,当我打开我的应用程序时,每个活动最初都会启动两次。” 有什么通用的解决方案吗?

标签: androidandroid-activity

解决方案


每个活动启动 2 次,因为它首先以横向模式加载,调用 onCreate() 并在执行屏幕旋转代码行时再次旋转

activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

解决此问题的唯一方法是为清单中的每个活动提及 screenOrientation="portrait" 。这是您强制在纵向模式下创建活动的唯一方法。


推荐阅读