Search code examples
androidandroid-activitytranslationdialogfragment

Android Show Dialog Fragment from SharedElement of Activities


I want to show a Dialogfragment that appear from a SharedElement of my Activity. I tried SharedElementTransition and that not working. Here is the code:

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");
   }

Thanks


Solution

  • Sadly it won't work. Shared element transitions only work with replace fragment transaction, but DialogFragment.show() uses add transaction.

    Also, see this question, maybe its solution will work for you Android - Shared Element Transition In Dialog