Android 中自定义 Dialog 显示隐藏动画

在 Android 开发过程中,默认的 Dialog 在调用 show 方法显示时是没有任何动画的,如果需要为 Dialog 添加显示隐藏动画,可使用如下方式:

1、初始化 Dialog 并设置 windowAnimations

Dialog dialog = new Dialog(this)
// or
Dialog dialog = new AlertDialog.Builder(this).create();

dialog.getWindow().getAttributes().windowAnimations = R.style.PauseDialogAnimation;

2、Dialog 动画资源配置

<style name="PauseDialogAnimation">
    <item name="android:windowEnterAnimation">@anim/slide_up</item>
    <item name="android:windowExitAnimation">@anim/slide_down</item>
</style>

3、动画文件

slide_up.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:duration="@android:integer/config_mediumAnimTime">
    <translate
        android:fromYDelta="100%p"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toXDelta="0%p"/>
    <alpha
        android:fromAlpha="0"
        android:toAlpha="1"/>
</set>

slide_down.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:duration="@android:integer/config_mediumAnimTime">
    <translate

        android:fromYDelta="0%p"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toYDelta="100%p"/>

    <alpha
        android:fromAlpha="1"
        android:toAlpha="0"/>
</set>

Over~

by 咕咚

参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,568评论 2 45
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,422评论 25 708
  • 光环五光十色 世界色彩斑斓 人生如此美丽 只惜时光短暂
    文采乐阅读 202评论 1 6
  • 朱颜易改叶易黄 清水源头是久长 梅雪含情愁风雨 青山无语伴夕阳
    衣吹风阅读 156评论 0 0
  • 贯穿全书的两个问题是:雪穗为什么要一次一次在别人身上重复自己遇到的悲剧?亮司与雪穗之间到底有没有爱情? 接下来...
    MarvinZhao阅读 961评论 1 2