即使纵向模式被锁定,Android 应用程序也会自动旋转到横向模式几秒钟

Posted

技术标签:

【中文标题】即使纵向模式被锁定,Android 应用程序也会自动旋转到横向模式几秒钟【英文标题】:Android application autorotates to landscape mode for a few seconds even when portrait mode is locked 【发布时间】:2011-01-15 00:11:46 【问题描述】:

不知道大家有没有看过这个:

我有一个应用程序,它为每个活动锁定了纵向方向。但是,在 HTC Pro Touch 手机中(可能在其他带有物理键盘的手机上发生这种情况),应用程序会旋转到横向模式几秒钟,然后返回到纵向模式,这在应用程序上导航时会发生。当然这不应该发生,但我不知道为什么会这样。

我通过在我的超类的 create 方法中调用 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) 来锁定纵向模式。

当我写这篇文章时,我意识到锁定指令是在 super.create(..) 之后调用的,这会有所不同吗? (如果不是我现在知道的话,测试需要一些时间)。如果不是,我还能做些什么来避免这种自动旋转?

先谢谢了,希望有人知道。

【问题讨论】:

【参考方案1】:

您应该在清单中设置该属性。

<activity android:name="bla.blah.bla" android:screenOrientation="landscape" />

除非您想稍后更改方向。但这可能是最好的方法。

【讨论】:

好的,谢谢,我会测试一下。基本上我没有这样做,因为有 30 个活动,并且在超类上以编程方式进行比在每个活动上复制清单属性更容易 明白了!是的,我理解你的痛苦。对于大约 15 项活动,我也必须这样做。至于我喜欢安卓。有很多这样烦人的事情。

以上是关于即使纵向模式被锁定,Android 应用程序也会自动旋转到横向模式几秒钟的主要内容,如果未能解决你的问题,请参考以下文章

即使屏幕在Android中被锁定,也会启动活动屏幕

iOS 8 - 切换控件后,即使在纵向模式下,旋转也会使状态栏消失

即使设置了正确的尺寸,相机预览也会被拉伸

MySQL InnoDB - 在使用连接表进行锁定读取期间,即使没有选择任何列,连接的行也会被锁定吗?

即使我的活动在 android 2.3.1 中处于纵向模式,如何将 framelayout 设置为横向

即使 iPad 处于纵向模式,如何强制 iPad 上的电视处于横向模式