Android-sharedElement重设或取消后退动画

时间:2019-03-07 09:13:11

标签: android android-fragments fragmenttransaction fragment-backstack

我在fragmentA中有一个recyclerview。每个recyclerview的行中都有一个图像和一个标签。 fragmentADetail(详细片段)是单击行时替换fragmentA。

我将以下代码用于共享元素的输入动画:

fragmentManager = activity.getSupportFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.addSharedElement(imgView, "id1");

fragmentTransaction.replace(containerID, fragmentADetail);
fragmentTransaction.addToBackStack("" + fragmentADetail.getFragmentID());
fragmentTransaction.commitAllowingStateLoss();
fragmentManager.executePendingTransactions();

fragmentADetail onCreate如下:

inflater = TransitionInflater.from(activity);
inflateTransition = inflater.inflateTransition(android.R.transition.move); 
this.setSharedElementEnterTransition(inflateTransition);

fragmentA-> fragmentADetail(输入动画就可以了)

popBackStackImmediate:fragmentADetail-> fragmentA(可以返回动画)

但是在某些情况下,我想浏览fragmentA-> fragmentADetail-> fragmentB-> fragmentA

我该怎么做?我目前的步骤是:

  • replace / addToBackStack(fragmentA-> fragmentADetail)
  • 替换(fragmentADetail-> fragmentB)
  • popBackStack(fragmentB-> fragmentA)imageview的图像消失了。

0 个答案:

没有答案