背景使用共享元素时出现故障

时间:2015-12-11 09:18:48

标签: android material-design android-recyclerview shared-element-transition

我有两个活动,其中第一个活动包含片段中的循环视图,该视图添加在第一个活动上,第二个活动包含折叠工具栏布局中的工具栏,我创建了这两个活动之间的共享元素转换时用户点击任何回收视图项目,其中包含我想用作第二个活动工具栏图像的共享元素的图像。我已经设置了这样的过渡。

第一项活动

ChangeBounds changebound=new ChangeBounds();
changebound.setDuration(500);
getWindow().setSharedElementExitTransition(changebound);

第二项活动

ChangeBounds changebound=new ChangeBounds();
changebound.setDuration(500);
getWindow().setSharedElementEnterTransition(changebound);

我正在第一个活动的回收者视图onItemClick中查看第二个活动

Pair<View, String> imagePair=Pair.create(itemView.findViewById(R.id.imgChannelImage), activity.getResources().getString(R.string.channel_name));
    Bundle mBundle = new Bundle();
    mBundle.putInt("Position", getLayoutPosition());
    mBundle.putString("ChannelName", "One Direction " +getLayoutPosition());
    Intent i = new Intent(activity, ProChannelPageActivity.class);
    i.putExtras(mBundle);   
    ActivityOptionsCompat options = ActivityOptionsCompat.
                            makeSceneTransitionAnimation(context,imagePair);
    activity.startActivity(i, options.toBundle());

我能够在这两者之间进行共享元素转换。但问题是背景故障,即当图像视图从一个活动移动到另一个活动时,我们能够看到少数部分的第一个活动背景。

1 个答案:

答案 0 :(得分:-1)

我能理解你的问题。 基本上发生的事情是,你只是分享你提到的2个观点。但是顶部的状态栏,底部的导航栏(以及可能是其他人,在您的情况下)不会被共享。所以这似乎是一个眨眼。

你可以看到这篇文章,看它是否有帮助。

https://stackoverflow.com/a/26748694/2346980