使用FLAG_ACTIVITY_CLEAR_TOP时,共享元素转换不起作用

时间:2016-09-06 14:47:28

标签: android

所以我有一个非常复杂的导航系统,我最终可以在根活动和其他活动之间进行循环。为了避免内存泄漏,我必须在再次启动根活动时使用Intent.FLAG_ACTIVITY_CLEAR_TOP

要在活动之间进行转换,我使用共享元素转换(ImageViews),从根活动到其他活动(在这种情况下我实际上只是使用Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)时工作正常。

问题是从其他活动重新启动主要活动时。在意图中使用Intent.FLAG_ACTIVITY_CLEAR_TOP会导致背景闪烁到手机主屏幕(根活动变得完全透明,您可以在转换过程中看到主屏幕)。

Intent intent = new Intent(parent, RootActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(parent, imageView,     imageView.getTransitionName());

startActivity(intent,options.toBundle());

在根活动中,我有一个片段,因此我必须在postponeEnterTransition()中调用onCreate,然后在片段根视图的startPostponedEnterTransition()侦听器中调用onPreDraw。< / p>

我无法弄清楚问题是什么。这是一个与主题相关的问题还是Android中的一些错误?

0 个答案:

没有答案