我想要在打开片段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();