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