片段退出动画不起作用

时间:2016-05-13 09:48:36

标签: android fragment android-animation fragmenttransaction

我想要在打开片段B时向上滑动动画。当从片段B返回到A时,我需要以相反的顺序动画。

我有活动,其中包含Fragment A,我使用带动画的给定代码从A打开Fragment B

    FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(R.anim.slide_in_from_bottom, R.anim.slide_out_from_bottom);
    ft.replace(R.id.container, fragment);
    ft.addToBackStack("");
    ft.commit();

哪里

slide_in_from_bottom

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator">

    <translate
        android:duration="@integer/anim_duration"
        android:fromYDelta="100%p"
        android:toYDelta="0" />
</set>

slide_out_from_bottom

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator">

    <translate
        android:duration="@integer/anim_duration"
        android:fromYDelta="0"
        android:toYDelta="-100%p" />
</set>
  

一切正常。现在我想以相反的顺序显示动画,同时从B回到片段A。

我使用此代码,但它不能正常工作,为什么会这样?

FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.anim.slide_out_from_bottom, R.anim.slide_in_from_bottom
            , R.anim.slide_in_from_bottom, R.anim.slide_out_from_bottom);
 fm.popBackStack();
 ft.commit();

0 个答案:

没有答案