以动画方式移除片段

Kit*_*fer 4 android android-animation android-fragments

在应用程序中,我尝试以动画方式删除片段。

transaction.remove(fragmentVideo).remove(fragmentProgressBar).replace(R.id.content_pane_calling, endFragment);
transaction.setCustomAnimations(R.anim.slide_in, R.anim.slide_up);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

框架完全忽略了这一点。Fragment 本身被删除,但视觉效果并不好。任何动画都FragmentTransaction#replace可以很好地配合这些动画。我正在使用SupportLibrary v23.1.

谢谢你的协助 :)

小智 5

对 transaction.setCustomAnimation() 的调用必须在 transaction.remove()/add()/replace() 之前调用,否则动画将永远不会运行。

所以你的代码将如下所示:

transaction.setCustomAnimations(R.anim.slide_in, R.anim.slide_up);
transaction.remove(fragmentVideo).remove(fragmentProgressBar).replace(R.id.content_pane_calling, endFragment);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)