1 首先在values/styles.xml中添加进出fragment的动画设置。
<style name="activityAnimation" parent="android:Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/alpha_top_slide_in</item>
<item name="android:activityCloseExitAnimation">@anim/alpha_bottom_slide_out</item>
</style>
2 添加响应的资源,在res/anim文件夹下创建alpha_top_slide_in.xml 和alpha_bottom_slide_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha
android:duration="300"
android:fromAlpha="0"
android:toAlpha="1" />
<translate
android:duration="300"
android:fromYDelta="200"
android:toYDelta="0" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha
android:duration="300"
android:fromAlpha="1"
android:toAlpha="0" />
<translate
android:duration="300"
android:fromYDelta="0"
android:toYDelta="200" />
</set>
3 复写fragment的onCreateAnimation函数。
@Override
public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) {
int id = enter ? R.anim.alpha_top_slide_in : R.anim.alpha_bottom_slide_out;
return AnimationUtils.loadAnimation(getActivity(), id);
}
Ok,以上大功告成。