[英]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.