正如您从视频中看到的,当在我的 Recyclerview
中单击图像时,转换到新 Activity 时并不顺利。当我单击“返回”返回原始 Activity 时,过渡很顺利。如何在打开 Activity 时使过渡顺利?
这是启动 Activity 的代码
Intent myIntent = new Intent(getActivity(), WallpaperFullActivity.class);
View sharedView = v.findViewById(R.id.wall_image);
String transitionName = "wall_trans";
ActivityOptionsCompat transitionActivityOptions =
ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), sharedView, transitionName);
myIntent.putExtra(WallpaperFullActivity.BUNDLE_TAG, mDataWalls.get(i));
ActivityCompat.startActivity(getActivity(), myIntent, transitionActivityOptions.toBundle());
最佳答案
看到变量的名称,我猜您正在转换到具有高分辨率图像的 ImageView。问题可能是,图像的加载需要一些时间,因此在转换时不知道 ImageView 的最终位置和大小,从而导致转换不稳定。考虑使用 Activity.postponeEnterTransition()
推迟转换,并在加载图像时使用 Activity.startPostponedEnterTransition()
启动转换。欲了解更多信息,请参阅this blog entry .
关于android - 共享元素到 ImageView 的转换在退出时有效,但在进入时不平滑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31486104/