当屏幕旋转或用户在手机上滑动键盘时,如何防止活动重启?这可能吗?有工作吗?所有相关的答案都表示赞赏。
答案 0 :(得分:7)
您可以通过在activity
的{{1}}元素中声明特定属性来执行此操作。有问题的元素称为manifest.xml
,您需要注册字符串值android:configChanges
。
orientation
现在,当其中一个配置发生变化时,MyActivity就不会发生变化 重新启动。而是,活动接收呼叫 onConfigurationChanged()。此方法传递给Configuration对象 指定新设备配置。通过阅读中的字段 配置,您可以确定新的配置和制作 通过更新界面中使用的资源进行适当的更改。 在调用此方法时,您的Activity的Resources对象是 已更新以根据新配置返回资源,因此您可以 轻松重置UI的元素,而无需重新启动系统 活性
这样做会导致<activity android:name=".MyActivity"
android:configChanges="orientation"
android:label="@string/app_name">
无法重新启动,并且还会回调Activity
,以便 你 可以自行处理更改
答案 1 :(得分:0)
如果您阅读文档here,您会看到您可以在清单中指定以下内容:
<activity ...
android:configChanges="orientation">
完成此操作后,您可以实现onConfigurationChanged()
方法来接收有关方向更改的通知,或者只使用基类的实现。