3

我尝试按照活动和片段的共享元素转换教程进行操作,但我在这里遇到了一种特殊情况。

为简化起见,我将使用单个 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();
    }

尽管设置了正确的过渡名称,但不会发生共享动画。我想知道这实际上是否可能。

有谁知道这是否可能?还是应该将我活动中的所有内容放入一个片段中,然后在两个片段之间共享元素?或其他任何东西。

感谢您的回复,我希望有人可以帮助我。

4

0 回答 0