Android 更改共享元素转换的sharedElement视图

Android 更改共享元素转换的sharedElement视图,android,android-recyclerview,shared-element-transition,Android,Android Recyclerview,Shared Element Transition,我有一个回收站。当我单击某个项目时,我将使用共享元素转换动画启动一个新活动。在这个“子”活动中,我有一个ViewPager,我可以移动到其他项目,然后按Back。 因此,我需要更改“父”活动中的sharedElement视图,以便将反向转换应用于正确的项目 我怎样才能做到这一点?我们在MakeScenetTransitionAnimation中设置了sharedElement,但是如何为反向动画更改它?您必须在第一个活动中使用SharedElementCallback,如下所示: private

我有一个回收站。当我单击某个项目时,我将使用共享元素转换动画启动一个新活动。在这个“子”活动中,我有一个ViewPager,我可以移动到其他项目,然后按Back。 因此,我需要更改“父”活动中的sharedElement视图,以便将反向转换应用于正确的项目


我怎样才能做到这一点?我们在MakeScenetTransitionAnimation中设置了sharedElement,但是如何为反向动画更改它?

您必须在第一个活动中使用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);
    }
};
private final SharedElementCallback exitTransitionCallBack=new SharedElementCallback(){
@凌驾
在MapSharedElements(列表名称、映射sharedElements)上的公共void{
sharedElements.clear();
sharedElements.put(“转换名称1”,视图1);
sharedElements.put(“转换名称2”,视图2);
}
};
此代码将在您从第二个活动返回到第一个活动时执行,反之亦然

别忘了在onCreate中:

setExitSharedElementCallback(exitTransitionCallBack)