共享元素到ImageView的过渡在退出时起作用,在输入时不顺畅

时间:2015-07-17 23:22:06

标签: android android-layout material-design android-transitions

正如您在Recyclerview中点击图片时从视频中看到的那样,在转换到新活动时,图片不顺畅。当我点击返回原始活动时,过渡很顺利。如何在开启活动时顺利完成过渡?

Video of issue

这是启动活动的代码

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());

1 个答案:

答案 0 :(得分:2)

看到变量的名称,我想您正在转换为具有高分辨率图像的ImageView。问题可能是,图像的加载需要一些时间,因此在转换时不知道ImageView的最终位置和大小,从而使转换变得不稳定。考虑使用Activity.postponeEnterTransition()推迟转换,并在加载图片时以Activity.startPostponedEnterTransition()启动转换。有关详细信息,请参阅this blog entry