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

时间:2016-10-29 23:44:19

标签: android android-recyclerview shared-element-transition

我有一个RecyclerView。当我点击一个项目时,我开始一个带有共享元素过渡动画的新活动。在这个"孩子"活动我有一个ViewPager,我可以移动到其他项目,然后按返回。 所以我需要更改" parent"中的sharedElement-view。活动,以便将反向过渡应用于正确的项目。

我怎样才能实现这一目标?我们在 makeSceneTransitionAnimation 中设置了sharedElement但是如何为反向动画更改它?

1 个答案:

答案 0 :(得分:0)

您必须在First Activity中使用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);