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
事务。
另外,看看这个问题,也许它的解决方案对你有用
我想显示从我的 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
事务。
另外,看看这个问题,也许它的解决方案对你有用