【发布时间】:2025-11-25 11:45:02
【问题描述】:
我正在开发一个只能横向显示部分页面的应用程序,我不想锁定屏幕显示,我希望拒绝 Android 进行方向更改。
有什么我可以用的吗?例如,在运行时方向更改时,Android 会询问是否可以转到该方向?
如果没有,如何锁定当前屏幕方向?我知道 setRequestedOrientation 可以做到这一点,但它意味着发现当前方向(甚至发现正确的方向,如“正常”或“反向”肖像/风景)并锁定它。
编辑: 这个应用程序只有一个活动,根据它的状态(改变时间和用户输入)它可以旋转或不旋转,这是我的问题。
如http://developer.android.com/guide/topics/resources/runtime-changes.html 所见,关于配置更改:
"自行处理配置更改 防止系统在某些配置更改期间重新启动您的 Activity,但在配置发生更改时接收回调,以便您可以根据需要手动更新您的 Activity。"
即使配置发生变化,我也希望在此之前阻止这种行为。
【问题讨论】:
-
只是为了补充@BrianNickel 所说的内容,this answer 可能就是您正在寻找的内容。您可能还想查看this。
-
我的问题是如何在运行时拒绝设备不改变方向
-
我尝试了一些 onConfigurationChanges 方法不起作用,即使我消耗了屏幕旋转并显示旋转的旧方向的事件,但这也使我的屏幕不会重新创建视图,这也很重要。
-
“即使配置发生变化,我也希望在此之前阻止这种行为”——除非编写自己的自定义固件,否则这是不可能的。您无法阻止配置更改。您最多可以管理配置更改的效果。
标签: android screen-orientation orientation-changes android-orientation android-screen