在“活动”生命周期中何时开始动画?

Ano*_*ous 6 animation android android-animation android-lifecycle android-view

这很奇怪,但是我从未见过关于如何在正确的时间执行动画的详细记录,以便在Activity的生命周期进展期间可以流畅地观看动画。

例如,如果您开始制作动画,onCreate那么您甚至都不会看到动画的发生。

同样,如果“活动A”以“活动B”开始,startActivityForResult并且您要启动动画onActivityResult(以显示用户的选择),那么您再也看不到任何内容,因为从“活动B”到“活动A”的过渡需要一些时间。

在这些情况下,我们如何知道何时开始动画?我现在对onActivityResult此案更感兴趣。

另外,我们一般如何知道视图是否可以真正执行用户实际看到的动画?

Iul*_*scu 0

您正在寻找onResume

引用 Android 文档:

在 onRestoreInstanceState(Bundle)、onRestart() 或 onPause() 之后调用,以便您的 Activity 开始与用户交互。这是开始动画、打开独占访问设备(例如相机)等的好地方。

在同一文档中,您还可以找到一种检查活动是否显示的方法:

请记住,onResume 并不是表明您的活动对用户可见的最佳指标;诸如键盘保护之类的系统窗口可能位于前面。使用 onWindowFocusChanged(boolean) 可以确定您的活动对用户可见(例如,恢复游戏)。