片段间跨越活动的共享元素转换不一致

3
我有两个活动A1和A2。 A1具有片段F1,而A2具有片段F2。当用户单击片段F1时,它调用默认加载了片段F2的Activity A2。这是流程。现在我在片段f1和f2之间共享一个视图。我按照此链接实施了共享元素转换,它有效,但只有有时。跨片段的共享元素转换不一致。返回转换如预期发生,但进入转换并不总是有效。
我做错了什么?我应该在哪里设置setSharedElementEnterTransition()和setSharedElementReturnTransition()?
1个回答

0

我可能对这个答案有所错误,但是你可以尝试一下:

我的假设是你正在onCreateView方法中设置setSharedElementEnterTransition()setSharedElementReturnTransition(),在某些情况下这样做是可以的,但是如果你遵循完整的活动生命周期(你可以在这里查看),你会注意到在某些情况下,例如:当A1暂停或停止后,你的Fragment1代码将从onStartonResume中执行,而不是从onCreateView中执行,因此你的setSharedElementEnterTransition()没有被执行。

因此,我认为返回转换总是有效的,因为它在调用onStop方法时被调用。问题在于,在这种情况下,共享元素转换有点复杂,因为你正在混合4个活动的生命周期。我需要进行一些研究,但我认为这可能是原因。希望能帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接