2017-03-16 60 views
-1

我想显示从我的活动的SharedElement中显示的Dialogfragment。我尝试SharedElementTransition,并没有工作。下面是代码:来自活动SharedElement的Android显示对话框片段

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

感谢

回答

1

可悲的是它不会工作。共享元素转换仅适用于replace碎片交易,但DialogFragment.show()使用add交易。

而且,看到这个问题,也许它的解决方案会为你 Android - Shared Element Transition In Dialog

工作