为Dialog添加Anim动画

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样式.

猜你喜欢

转载自zyzzsky.iteye.com/blog/1853262
今日推荐