Android - 在 onRestoreInstanceState 期间操纵视图位置

Android - Manipulating view position during onRestoreInstanceState

我制作了一个简单的骰子游戏,它使用 setTranslationY() 方法来指示在下一次掷骰时是否应该忽略一个骰子。这一切都很好,除了当我尝试在屏幕旋转后恢复应用程序的状态时,我的恢复方法似乎无法在需要它的视图上使用 setTranslationY()

我已经一次又一次地确认该方法正在为所有应该向上推动一点的视图调用,但视图保持原样。

如果应用程序需要完成 onCreate()onStart()onRestoreInstanceState()onResume() 才能操作视图,则请告知如何实现这一目标。我需要在每次设备旋转时始终如一地发生这种情况。

您可以通过通知 Android 您想要 handle the logic for screen orientation 自己来保留应用程序的状态,而不是让 OS 丢弃并重建整个 Activity 每当用户倾斜屏幕时。您可以通过将 android:configChanges 属性添加到 AndroidManifest.xml 中的 Activity 条目来执行此操作:

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

这应该有望保留动画 Views 的状态。