2017-10-06 707 views
1

我已经将支持库从24.2.1更新到26.0.0,并且我注意到了一个差异,我不确定它是一个错误还是一个明确的决定。Android onCreateAnimation生命周期

我使用的片段与过渡自定义动画,并在老24.2.1生命周期是这样

onAttach() 
onCreate() 
onCreateView() 
onCreateAnimation() 
onStart() 
onResume() 

但在26.0.0把它改成

onAttach() 
onCreate() 
onCreateView() 
onStart() 
onResume() 
onCreateAnimation() 

对于某些原因我不知道,并通过支持库发布笔记看,我没有发现任何可能与此有关的东西。唯一可能相关的是片段的重新排序,但事件将该标志设置为true或false,没有任何效果。

现在我的动画有点胡思乱想,因为onResume()期望在onAnimationCreated()上设置一些标志以相应地执行操作。

高兴的帮助,

+0

创建了一个GitHub的项目来演示这个问题 https://github.com/smlima/createanim/ –

+0

创建错误报告的某个时候回来,还在等待他们的答复 –

回答

0

根据Android文档约Fragment

onCreateAnimation(int transit, boolean enter, int nextAnim) 

不来下的Fragment生命周期状态。这只是Fragment类的常规方法,当片段加载动画时会调用该方法。 关于onCreateAnimation,请参阅this。它说

Animation onCreateAnimation (int transit, boolean enter, int nextAnim)
当片段加载动画调用。请注意,如果使用Animator资源而不是Animation资源调用setCustomAnimations(int,int),则nextAnim将成为动画资源。

我相信,这意味着当您设置自定义动画到你的片段可以是前triggred onStart方法,即之前的片段是可见的或之后的方法被调用。

+1

我知道这种方法是不是生命周期的一部分,但它是一样的,因为这个方法总是被调用,现在它改变了。在onResume()之前调用它是有道理的。只是发现这种差异,并希望确保它不是一个错误或类似的东西。现在我会更新我的代码,以独立于该方法... 谢谢 –