打开/关闭片段适配器时的动画

时间:2013-06-19 23:25:49

标签: android android-fragments android-animation

我想在将片段附加到包含FragmentPager的活动时播放自定义动画。不幸的是,使用FragmentTransaction.setCustomAnimations(int, int)的正常方式只能部分工作。无论我做什么,只显示动画或动画的过渡。

这是我到目前为止所做的:

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.setCustomAnimations(R.anim.fadein, R.anim.fadeout, R.anim.fadein, R.anim.fadeout);
    transaction.add(R.id.fragmentSpace, hostingFragment, CURRENT_FRAGMENT);
    transaction.addToBackStack(null);
    transaction.commit();

在这种情况下,只显示新片段的in动画,旧片段在新连接的片段下保持可见。连同弹出后筹码组时不会播放动画。

transaction.add(..)替换为transaction.replace(..)有助于删除底层片段,但仍然存在未显示其动画外观的问题。在这种情况下,底层片段就会消失。至少pop动画显示在.replace案例中。

有关示例项目,请参阅:github(动画分支)

1 个答案:

答案 0 :(得分:0)

您应该在片段事务上使用remove()replace()来删除其他片段。