【问题标题】:Change sharedElement view for Shared Element Transition更改共享元素转换的 sharedElement 视图
【发布时间】:2016-10-29 23:44:18
【问题描述】:

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

我怎样才能做到这一点?我们在 ma​​keSceneTransitionAnimation 中设置了 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);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      相关资源
      最近更新 更多