片段共享元素转换与add()而不是replace()?

我试图使片段之间的共享元素转换,使用replace()添加第二个片段时,一切工作正常,但在代码库中add()使用了很多,但使用时, 转换只是跳到结束值

是否有可能添加片段之间的转换? 谢谢

 @Override public void onClick(View v) { setSharedElementReturnTransition(TransitionInflater.from(getActivity()) .inflateTransition(android.R.transition.move)); FragmentB secondFragment = new FragmentB(); secondFragment.setSharedElementEnterTransition(TransitionInflater.from(getActivity()) .inflateTransition(android.R.transition.move)); getFragmentManager().beginTransaction() .add(R.id.container, secondFragment) .addToBackStack(null) .addSharedElement(imageView, imageView.getTransitionName()) .commit(); } 

Solutions Collecting From Web of "片段共享元素转换与add()而不是replace()?"

因为系统不会从第一个片段经过onPause,所以不会发生。 因为当你添加一个新的片段时,新的片段出现在旧片段的顶部。

但你可以伪造它,虽然你会有更多的代码!

有一个样本如下:

https://github.com/Kisty/FragmentTransitionExample

和一个不完全相关的video,但是可以帮助你理解:

https://www.youtube.com/watch?v=CPxkoe2MraA