2017-08-03 53 views
0

我製作了一個簡單的骰子游戲,它利用setTranslationY()方法來指示骰子是否應該在下一次擲骰時被忽略。這一切都正常工作,除了當我嘗試恢復屏幕旋轉後的應用程序狀態時,我的恢復方法似乎無法在需要它的視圖上使用setTranslationY()Android - 在onRestoreInstanceState期間操縱視圖位置

我已經確認了一次又一次的方法是被調用的所有視圖應該向上微調一點,但視圖保持它們在哪裏。

如果是這樣的應用程序需要通過能夠操縱的觀點,那麼請就如何實現這一建議之前完成onCreate()onStart()onRestoreInstanceState()onResume()的過程。我需要在每次設備輪換時始終如一地執行此操作。

+0

你能分享你的代碼,特別是你保存和恢復數據的方式嗎? –

回答

2

您可以通過自己通知Android自己想要handle the logic for screen orientation來保留應用程序的狀態,而不必讓操作系統在用戶傾斜屏幕時垃圾和重建整個Activity。你可以在你的AndroidManifest.xml加入android:configChanges屬性爲Activity項做到這一點:

<activity android:name=".YourActivity" 
      android:configChanges="orientation" 
      android:label="@string/app_name"> 

這樣應該可以保留您的動畫View S的狀態。

+1

它做到了!謝謝,我會瀏覽文檔,以便正確理解configChanges標籤。 –