style文件:
<style name="dialog_anim_style" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/dialog_enter</item>
<item name="android:windowExitAnimation">@anim/dialog_exit</item>
</style>
创建动画xml文件:
①dialog_enter:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate //位置
android:fromYDelta="30"
android:duration="230"
android:interpolator="@android:anim/accelerate_decelerate_interpolator" />
<alpha //透明度
android:fromAlpha="0"
android:toAlpha="1"
android:duration="200"/>
<scale //缩放
android:fromXScale="0.8"
android:fromYScale="0.8"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1"
android:toYScale="1"
android:duration="200"/>
</set>
②dialog_exit:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:toYDelta="20"
android:duration="200" />
<alpha
android:fromAlpha="1"
android:toAlpha="0"
android:duration="100"/>
</set>
资源文件创建好之后在DialogFragment的onStart中:
getDialog().getWindow().setWindowAnimations(R.style.dialog_anim_style);
即可
核心思想:在Window上设置动画