3

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

第一个活动

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

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

4

1 回答 1

-1

我能理解你的问题。基本上正在发生的事情是,您只共享您提到的 2 个视图。但是顶部的状态栏,底部的导航栏(可能还有其他,在你的情况下)不会被共享。所以它看起来像一个眨眼。

你可以看看这个帖子,看看有没有帮助。

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

于 2015-12-27T13:43:44.927 回答