我从那里有一个活动 A,我打开活动 B,并将共享元素传递给它。它可以很好地为过渡设置动画,但是当我返回 Activity A 然后再次转到 Activity B 时,它仍然在堆栈中使用
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
共享元素转换未运行。
对于常规动画,您可以在 onNewIntent 中调用 overridePendingTransition() 以运行动画。https://stackoverflow.com/a/8327091
我尝试在那里调用 startPostponedEnterTransition() 但什么也没发生。
这是我允许转换的代码
void allowWindowTransitions(){
Window w = getWindow();
w.requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
开始活动的代码
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(this, sharedElement, "profile");
startActivity(intent, options.toBundle());
我试过搞乱 setSharedElementReturnTransition 和 setSharedElementReenterTransition 但什么也没发生。
有没有办法手动触发共享元素转换来解决这个问题。