我有两个活动,其中第一个活动包含片段中的回收视图,该视图添加在第一个活动上,第二个活动包含折叠工具栏布局中的工具栏,当用户单击时,我在这两个活动之间创建了共享元素转换一个包含我想用作第二个活动的工具栏图像的共享元素的图像的任何回收视图项目。我已经设置了这样的转换。
第一个活动
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());
我能够在这两者之间共享元素转换。但问题是存在背景故障,即当图像视图从一个活动移动到另一个活动时,我们能够看到第一个活动背景的一小部分。