android - 在 RecyclerView 中使用 AppCompat 共享元素动画

标签 android transition material-design

我有一个带有一些 ImageView 的 fragment ,如果我单击其中一个 ImageView,应用程序会打开一个新 Activity ,其中刚刚单击的“目标”图像位于其顶部。

首先,我将新 Activity 中的 ImageView 直接放在父布局中。

现在,在此 Activity 中,我将自定义 header 设置为 RecyclerView 的第一项,“目标”ImageView 位于此新 header 中。

现在转换不再有效。我以为RecyclerView的内容是稍后绘制的,所以我尝试了

        ActivityCompat.postponeEnterTransition(this);

setContentView之前(不知道是否正确) 和

        ActivityCompat.startPostponedEnterTransition(mContext);

在RecyclerView的onBindViewHolder中。

但这不起作用...我能做什么?

最佳答案

我通过使用解决了

        setEnterSharedElementCallback(new SharedElementCallback() {

        @Override
        public void onMapSharedElements(List<String> names, Map<String, View> sharedElements) {
            sharedElements.put("profile_user_img", image);
            super.onMapSharedElements(names, sharedElements);
        }
    });

与推迟EnterTransition和startPostponedEnterTransition结合使用

关于android - 在 RecyclerView 中使用 AppCompat 共享元素动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27052101/

相关文章:

vue.js - 在v-card中的v-img内添加 float 按钮

reactjs - 在 ClojureScript 中,如何正确使用 cljsjs/react-mdl?

javascript - 使用 D3 (v5) 应用多个过渡

javascript - 正在进行的CSS3 Transition,如何获取目标值?

css - Angular 6 动态地将 CSS 类应用于 mat-cell

android - Html.fromHtml 在 android 中不显示低 API 21

javascript - slider 效果不起作用

安卓 : MPAndroidChart how to remove values on right side in chart?

java - Android位图像素操作返回黑色方 block

android - 如何使用 Appium [Android] 查找基于另一个元素的相对元素?