我正在开发Android平板电脑应用程序,我必须管理应用程序方向。我遇到了一个问题,每当我旋转设备onCreate()时都会被调用。
我通过在活动标记的Manifest.xml文件中设置此行来修复Honeycomb(3.1)上的此问题,并且它运行良好。
android:configChanges="keyboardHidden|orientation"
但是当我在ICS Tablet上测试我的应用程序时,这个问题又回来了。有谁知道如何解决这个问题?
谢谢
问候。
答案 0 :(得分:10)
如果您定位API level > 13
,则必须添加文档中报告的screenSize
标记:
android:configChanges="keyboardHidden|orientation|screenSize"
答案 1 :(得分:3)
onCreate()
,因为当方向更改时,始终会重新创建活动。没有什么不妥。您应该为此实现正确的行为,或者通过添加orientation = horizontal to manifest例如
答案 2 :(得分:0)
警告:从Android 3.2(API级别13)开始,"屏幕大小"当设备在纵向和横向之间切换时也会发生变化。因此,如果要在开发API级别13或更高级别(由minSdkVersion和targetSdkVersion属性声明)时由于方向更改而阻止运行时重新启动,则必须包含" screenSize"价值以及"方向"值。也就是说,你必须声明 android:configChanges =" orientation | screenSize "。但是,如果您的应用程序的目标是API级别12或更低,那么您的活动始终会自行处理此配置更改(即使在Android 3.2或更高版本的设备上运行,此配置更改也不会重新启动您的活动。)
参考:https://developer.android.com/guide/topics/resources/runtime-changes.html