簡體   English   中英

方向更改時,活動會不斷重新啟動

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM