【问题标题】:Shared Element Transitions not working when exit from fragment to Activity containing Viewpager从片段退出到包含 Viewpager 的 Activity 时,共享元素转换不起作用
【发布时间】:2016-10-06 13:20:20
【问题描述】:

我在 Viewpager 的片段内有一个 RecyclerView,并将 RecyclerView 中的项目共享元素到包含片段的 DetailActivity。我在DetailActivity 中设置了片段的进入和退出的过渡。

public static void sharedTransitionReceiver(Activity activity, Fragment fragment) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        activity.getWindow().getEnterTransition().setDuration(500);
        Slide slideTransition = new Slide(Gravity.START);
        slideTransition.setDuration(500);
        fragment.setReenterTransition(slideTransition);
        fragment.setExitTransition(slideTransition);
        fragment.setSharedElementEnterTransition(new ChangeBounds());
    }
}

它工作得很好,但是当我导航回包含 Viewpager 退出动画的上一个活动时,它不起作用,并且项目不会动画回到原来的位置。

【问题讨论】:

  • 调用 setSharedElementReturnTransition() 来指定当用户点击返回按钮时 View 如何从第二个 Fragment 移回第一个 Fragment。
  • 没用还是一样。
  • @BurakCakir 根据文档,默认情况下返回动画是入口动画的反向。
  • 你是对的伙伴。 This answer 用 viewpager 解决了我的过渡问题,希望它也适用于你。

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


【解决方案1】:

经过 4 小时的努力,我无法想象答案会这么简单。从堆栈中弹出每个片段后,我调用了finish(),而我必须使用supportFinishAfterTransition();

【讨论】:

  • 你能指导我如何执行片段到活动共享元素的转换吗?
  • 如果有从fragment到另一个fragment的exit transition怎么用?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-22
  • 2015-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-05
相关资源
最近更新 更多