0

我有一个在清单中使用以下 sdk 的应用程序:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

为了防止活动在屏幕旋转时重新启动,我添加到清单:

 android:configChanges="orientation|keyboardHidden|screenSize"

我是否还需要覆盖onConfigurationChangedin 活动本身,如下所示:

   @Override
 public void onConfigurationChanged(Configuration newConfig) {
 super.onConfigurationChanged(newConfig);
 setContentView(R.layout.myLayout);
 }

还是清单中的这一行就足够了:

  android:configChanges="orientation|keyboardHidden|screenSize"

任何帮助将不胜感激。

4

3 回答 3

2

防止活动在屏幕旋转时重新启动

这通常不是一个好主意。

我添加到清单: android:configChanges="orientation|keyboardHidden|screenSize"

这通常不是一个好主意。你所做的只是为自己创造更多的工作。您仍然必须拥有所有标准配置更改逻辑,以处理您未在此处列出的所有配置更改,而且可能需要分别处理这三种情况。

我是否需要覆盖 onConfigurationChanged

这取决于您的用户界面是否因配置而异,对于您列出的配置android:configChanges(例如,纵向看起来是否与横向不同?)。如果答案是“是”,那么您将在其中为您的花名册中onConfigurationChanged()列出的事件修复该 UI 。android:configChanges如果答案是“否”,那么您不需要重写此方法。

于 2013-07-24T23:52:16.947 回答
0

您拥有的以下清单足以防止旋转:

android:configChanges="orientation|keyboardHidden|screenSize"
于 2013-07-24T23:37:16.603 回答
-2

android:screenOrientation="portrait"

正如Android所建议的那样 - 禁用横向模式?

于 2013-07-24T23:40:46.007 回答