确保屏幕方向固定为纵向,并且永远不会更改

时间:2012-10-05 08:26:20

标签: android android-activity orientation

我希望我的Android应用程序仅实例化一次主屏幕活动。我正在适当地管理后台堆栈以实现此目的但是在应用程序启动时刚刚发现了一个方向问题。

视觉上,此方向更改仅在模拟器上显示。 (可能运行得太快而无法在设备上观察到)。

以下是发生的事情:: - >

activity.onCreate()
activity.onDestroy()
activity.onCreate()

这个序列很有意义,是由方向的变化引起的。对我来说没有意义的是它发生了,因为我已经做了以下工作来防止方向改变:: - >

AndroidManifest.xml包含

android:screenOrientation="portrait"

对于我的所有活动和主屏幕活动onCreate()方法,我正在调用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

那我为什么要改变方向呢?

1 个答案:

答案 0 :(得分:1)

在您声明活动的清单文件中添加android:screenOrientation="portrait"

<activity android:name=".yourActivity"
          ....
          android:screenOrientation="portrait"/>

如果你想使用java代码 尝试

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
setContentView

onCreate()开展活动之前

请参阅here