[英]Activity keeps restarting when orientation changes
当屏幕旋转或用户在手机上滑动键盘时,如何防止活动重启? 这可能吗? 有工作吗? 所有相关答案都表示赞赏。
您可以通过在manifest.xml
中的activity
元素中声明特定属性来执行此操作。 有问题的元素叫做android:configChanges
,你需要注册orientation
的字符串值。
<activity android:name=".MyActivity"
android:configChanges="orientation"
android:label="@string/app_name">
从文档 :
现在,当其中一个配置发生更改时,MyActivity不会重新启动。 相反,Activity接收对onConfigurationChanged()的调用。 此方法传递一个Configuration对象,该对象指定新设备配置。 通过读取“配置”中的字段,您可以确定新配置并通过更新界面中使用的资源进行适当的更改。 在调用此方法时,您的Activity的Resources对象会更新以根据新配置返回资源,因此您可以轻松重置UI的元素,而无需系统重新启动您的Activity
这样做会导致Activity
不重新启动,并且还会回调onConfigurationChanged()
以便您可以自己处理更改。
如果您在此处阅读文档,您将看到可以在清单中指定以下内容:
<activity ...
android:configChanges="orientation">
完成后,您可以实现onConfigurationChanged()
方法以接收有关方向更改的通知,或者只使用基类的实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.