在活动和片段之间共享元素

时间:2015-07-10 13:44:59

标签: android android-fragments android-activity shared-element-transition

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

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

尽管设置了正确的转换名称,但共享动画不会发生。我想知道这是否真的可能。

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

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

0 个答案:

没有答案