0
我想在将片段附加到包含FragmentPager的活动时播放自定义动画。不幸的是,使用FragmentTransaction.setCustomAnimations(int, int)
的正常方式只能部分工作。无论我做什么只是外面的动画或过渡动画显示。打开/关闭FragmentAdapter时的动画
这是我到目前为止有:
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();
在这种情况下,刚刚在新片段的动画显示,老段下的新连接的一个保持可见。再加上弹出后退栈时不播放动画。
用transaction.replace(..)
替换transaction.add(..)
有助于删除底层片段,但仍然存在未显示其动画的问题。在这种情况下,底层片段就会消失。至少弹出式动画显示在.replace案例中。
举一个例子项目看:github(动画分支)
正如我上面提到的:transaction.replace()也没有帮助。它无法显示替换片段的动画。刚刚测试组合删除(Fragment)并添加(Fragment),但它实际上与调用replace相同。 – Paul