Android 显示来自活动共享元素的对话框片段

Android Show Dialog Fragment from SharedElement of Activities

我想显示从我的 Activity 的 SharedElement 中出现的 Dialogfragment。我尝试了 SharedElementTransition,但没有用。这是代码:

FragmentManager fm = this.getSupportFragmentManager();
AddHistoryFragment mAddHistoryFragment = new AddHistoryFragment();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    mAddHistoryFragment.setSharedElementReturnTransition(TransitionInflater.from(
                        this).inflateTransition(R.transition.change_image_trans));
    mAddHistoryFragment.setExitTransition(TransitionInflater.from(
                        this).inflateTransition(android.R.transition.fade));

    mAddHistoryFragment.setSharedElementEnterTransition(TransitionInflater.from(
                        this).inflateTransition(R.transition.change_image_trans));
    mAddHistoryFragment.setEnterTransition(TransitionInflater.from(
                        this).inflateTransition(android.R.transition.fade));
   fm.beginTransaction().add(mAddHistoryFragment,"add History")
                        .addSharedElement(ivAddExpense, ivAddExpense.getTransitionName()).commit();
   }else {
        mAddHistoryFragment.show(fm, "History");
   }

谢谢

遗憾的是,它不起作用。共享元素转换仅适用于 replace 片段事务,但 DialogFragment.show() 使用 add 事务。

另外,看看这个问题,也许它的解决方案对你有用