我尝试了关于活动和片段的共享元素转换教程,但我在这里遇到了一种特殊情况。
为了简化,我将使用单个TextView解释我的问题。
我的问题是:我有一个带有回收器视图的片段,用于保存数据并使用简单的TextView进行显示。当我单击此TextView时,我打开一个片段,该片段使用后一个文本视图中包含的相同字符串。我想要做的是在活动和创建的片段之间共享TextView。这是我用来创建片段和共享元素的代码:
forumView = ForumView.newInstance(forumId);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
forumView.setSharedElementEnterTransition(new AutoTransition());
ArticleAdapter.HomeCardViewHolder holder = (ArticleAdapter.HomeCardViewHolder) mRecyclerView.findViewHolderForAdapterPosition(position);
View forumPic = holder.getCardPhoto();
forumPic.setTransitionName("forum picture");
View forumName = holder.getArticleTitle();
forumName.setTransitionName("forum name");
forumView.setSharedElementEnterTransition(new AutoTransition());
ft.setCustomAnimations(R.anim.forum_fragment_slide_in, R.anim.forum_fragment_slide_out, R.anim.forum_fragment_slide_in, R.anim.forum_fragment_slide_out)
.addSharedElement(forumPic, "forum picture")
.addSharedElement(forumName, "forum name")
.add(R.id.forum_fragment_receiver, forumView)
.addToBackStack(null)
.commit();
}
尽管设置了正确的转换名称,但共享动画不会发生。我想知道这是否真的可能。
有谁知道这是否可行?或者我应该将我的活动中的所有内容放入片段中,然后在两个片段之间共享元素?或其他任何事实。
感谢您的回复,我希望有人可以帮助我。