【问题标题】:Change sharedElement view for Shared Element Transition更改共享元素转换的 sharedElement 视图
【发布时间】:2016-10-29 23:44:18
【问题描述】:
我有一个 RecyclerView。当我单击一个项目时,我会使用共享元素转换动画启动一个新 Activity。在这个“子”活动中,我有一个 ViewPager,我可以移动到其他项目,然后按返回。
因此,我需要更改“父”Activity 中的 sharedElement-view,以便将反向转换应用于正确的项目。
我怎样才能做到这一点?我们在 makeSceneTransitionAnimation 中设置了 sharedElement,但是如何为反向动画更改它呢?
【问题讨论】:
标签:
android
android-recyclerview
shared-element-transition
【解决方案1】:
您必须像这样在第一个活动中使用 SharedElementCallback:
private final SharedElementCallback exitTransitionCallBack = new SharedElementCallback() {
@Override
public void onMapSharedElements(List<String> names, Map<String, View> sharedElements) {
sharedElements.clear();
sharedElements.put("transition name 1", view1);
sharedElements.put("transition name 2", view2);
}
};
当您从第二个活动返回到第一个活动时,将执行此代码,反之亦然。
不要忘记在 onCreate 中:
setExitSharedElementCallback(exitTransitionCallBack);