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

Android 使用共享元素时出现背景故障,android,material-design,android-recyclerview,shared-element-transition,Android,Material Design,Android Recyclerview,Shared Element Transition,我有两个活动,第一个活动包含一个片段中的循环视图,该片段添加在第一个活动上,第二个活动包含一个折叠工具栏布局中的工具栏,当用户单击包含我要用作第二个活动工具栏图像共享元素的图像的任意循环视图项时,我在这两个活动之间创建了一个共享元素转换。我已按如下方式设置转换 第一项活动 ChangeBounds changebound=new ChangeBounds(); changebound.setDuration(500); getWindow().setSharedElementExitTransi

我有两个活动,第一个活动包含一个片段中的循环视图,该片段添加在第一个活动上,第二个活动包含一个折叠工具栏布局中的工具栏,当用户单击包含我要用作第二个活动工具栏图像共享元素的图像的任意循环视图项时,我在这两个活动之间创建了一个共享元素转换。我已按如下方式设置转换

第一项活动

ChangeBounds changebound=new ChangeBounds();
changebound.setDuration(500);
getWindow().setSharedElementExitTransition(changebound);
ChangeBounds changebound=new ChangeBounds();
changebound.setDuration(500);
getWindow().setSharedElementEnterTransition(changebound);
第二项活动

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());
Pair-imagePair=Pair.create(itemviewbyd(R.id.imgChannelImage),activity.getResources().getString(R.string.channel_name));
Bundle mBundle=新Bundle();
putInt(“位置”,getLayoutPosition());
putString(“ChannelName”,“One Direction”+getLayoutPosition());
意图i=新意图(活动,ProChannelPageActivity.class);
i、 putExtras(mBundle);
ActivityOptionsCompat选项=ActivityOptionsCompat。
makeSceneTransitionAnimation(上下文、图像对);
activity.startActivity(i,options.toBundle());

我可以在这两个活动之间进行共享元素转换。但问题是背景有问题,即当图像视图从一个活动移动到另一个活动时,我们可以看到第一个活动背景的一小部分。

我可以理解您的问题。 基本上,你只分享了你提到的两个观点。但顶部的状态栏、底部的导航栏(在您的情况下,可能还有其他栏)无法共享。所以看起来像是眨眼

你可以看看这篇文章,看看它是否有用


您是否为您的第一个活动xml文件设置了背景?另外,请添加屏幕截图。您是否参考了此链接?有关类似问题的解决方案,请参阅此链接: