项目急着上线,在改bug的过程中遇到这样一个问题:需要在切换fragment的时候添加左右滑动的进出动画,之前都是在Activty添加转场动画,在网上查阅了很多资料,遇到了很多坑之后,终于完成了这个bug的修复.
以下是解决的步骤:
修改fragment的transaction,主要是在transaction添加setCustomAnimations
android.app.FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.setCustomAnimations(
R.animator.fragment_slide_right_enter, R.animator.fragment_slide_left_exit,
R.animator.fragment_slide_left_enter, R.animator.fragment_slide_right_exit);
transaction.hide(currentF);
transaction.add(rootId, nextF, nextF.getClass().getName());
transaction.addToBackStack(nextF.getClass().getName());
transaction.commitAllowingStateLoss();
这里要解读一下setCustomAnimations的参数列表含义:
setCustomAnimations(int enter, int exit, int popEnter, int popExit)
第1个参数对应进栈动画,第4个参数对应出栈动画,所以4个参数分别是.setCustomAnimations(进栈动画, exit, popEnter, 出栈动画)
set