1.定义进入和退出动画xml
dialog_enter.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="300" android:fromYDelta="-100.0%p" android:interpolator="@android:anim/bounce_interpolator" android:toYDelta="0.0" /> </set>
dialog_out.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="300" android:fromYDelta="0.0" android:toYDelta="-100%p" /> </set>
2.定义动画style
<style name="AnimationDialog"> <item name="android:windowEnterAnimation">@anim/dialog_enter</item> <item name="android:windowExitAnimation">@anim/dialog_out</item> </style>
3.重写@android:Theme.Dialog的style
<!-- 重写 dialog样式--> <style name="MyDialog3" parent="@android:style/Theme.Dialog"> <!-- <item name="android:windowFrame">@null</item> --> <!-- 边框 --> <item name="android:windowIsFloating">true</item> <!-- 是否浮现在activity之上 --> <item name="android:windowIsTranslucent">false</item> <!-- 半透明 --> <item name="android:windowNoTitle">true</item> <!-- 无标题 --> <item name="android:windowTitleSize">0.0dip</item> <item name="android:windowBackground">@android:color/transparent</item> <!-- 背景透明 --> <item name="android:backgroundDimEnabled">false</item> <!-- 模糊 --> <item name="android:windowAnimationStyle">@style/AnimationPopup</item> </style>
4.实现 Dialog
通过实例化指定样式为 自定义的Dialog样式.