我有一个带有一些 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/