如何实现屏幕旋转时程序不重载?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

我希望当屏幕旋转时程序不变。我的应用程序在第一次旋转设备时会重载。

提问于
用户回答回答于

一般有三种方法可以做到这一点:

  1. 可以区分第一次创建和正在恢复的活动的情况savedInstanceState。这是通过覆盖onSaveInstanceState并检查onCreate参数来完成的。
  2. 可以通过在清单中添加android:screenOrientation="portrait"(或"landscape")到<activity>上在一个方向上锁定活动。
  3. 可以通过android:configChanges="orientation|screenSize"<activity>标签中指定。

用户回答回答于

像下面这样添加“screenSize”属性即可:

<activity
    android:name=".YourActivityName"
    android:configChanges="orientation|screenSize">
</activity>

现在,当你改变方向(和屏幕尺寸改变)时,活动保持其状态并被onConfigurationChanged()调用。当方向改变时,将保持屏幕上的内容(比如Web视图中的网页)。

扫码关注云+社区