我希望在屏幕方向更改时避免重新启动活动.在较旧的sdk版本中,它是由configChanges="orientation"(在清单中)完成的.在新版本screenSize中添加了.
我的minSdk是8,targetSdk是17,我发现自己处于一个奇怪的情况:我不能把screenSize放入configChanges(因为minSdk)但是我的手机(4.1)会破坏方向改变的任何活动(因为targetSdk) .
有什么出路吗?我可以以某种方式防止这种破坏,而不必针对过时的Sdk(但仍然将它作为minSdk中的一个选项)?
BIO*_*ARD -1
啊我终于想出了解决方案:
就我们无法影响 screenSize 属性的“已知建议解决方案”而言,因为当我们指定 android:configChanges="screenSize" 时, eclipse 会在 screenSize 上触发 xml 解析错误,如果我们在 targetSdkVersion 12 或更低版本中指定,android 操作系统将不会在方向更改时重新启动活动。(而且我现在知道并且正在使用 targetSdkVersion 来识别最大支持的 sdk 版本。但是当我再次研究时,有 maxSdkVersion 。)
所以通过这个设置:
使用 sdk android:minSdkVersion="10" android:targetSdkVersion="12" 安卓:maxSdkVersion =“17” ... android:configChanges="方向|..."
操作系统不会在方向更改时重新启动活动,应用程序仍将支持最小和最大 sdk 版本,但将以与 sdk 12 兼容的模式运行,sdk 12 是最高版本的 sdk,不会重新启动活动,这将解决上述问题。
| 归档时间: |
|
| 查看次数: |
1329 次 |
| 最近记录: |