Android轻松搞定Dialog提示动画效果

来源:互联网 发布:蔚来汽车发展前景知乎 编辑:程序博客网 时间:2024/05/16 17:49

抽个中午的时间写一篇博客,想必大家现在正在午饭呢吧,深圳的天气真是变换无常,刚刚大雨倾盆,不一会就晴天高照。打球吗?约起来哇,哈哈。。

今天给大家带来一篇Dialog提示附加动画效果的功能。这种Dialog提示效果基本变成了每个App都必不可少功能。例如,退出提示,弹出分享框,App升级提示等等。。

其实在Android中实现提示功能由很多种方式:自定义Dialog,AlertDialog,自定义ViewGroup,DialogFragment等等。

Google在新版本中不推荐使用Dialog了(Dialog的坑不少,例如抢夺焦点,必须自己处理返回事件等等),本篇内容实现的功能基于Android3.0之后推出的DialogFragment。

关于DialogFragment的使用在这里就不做多的介绍了,入门的文章大家可以看hongyang的:

Android 官方推荐 : DialogFragment 创建对话框

首先,看下我们今天要实现的效果:



想必大家肯定见过这种类似的效果吧。哈哈,怎么样?是不是比普通的Dialog显示要nice狠多。下面我们就来一步步实现。

既然使用DialogFragment,那么我们就需要自定义先DialogFragment,并继承自DialogFragment,实现onCreateView方法或者onCreateDialog。这里我们实现的是onCreateView方法。下面来看核心的代码:

DialogFragment和Fragment有相同的生命周期:

(1)在onStart方法中我们首先去声明要加载的动画文件,并设置到window的windowAnimations属性上。

(2)在onCreateView方法中,去掉了默认的提示框背景色(设置为透明),并去掉默认的标题,然后加载我们自己的布局文件。

接着我们来看动画Style:

很简单,就是定义了显示和退出的动画。

到此为止,关于动画的设置就完成了。接着我们就可以显示DiaFragment了:


到此,我们就轻松实现了上面的效果啦。关于定义的动画anim,大家可以下载源码进行查看,这里就不多说了。

:有朋友说在提示Dialog显示的时候,如何去掉默认的暗黑色背景。其实很简单,在上面的onStart方法中,使用如下方式:

layoutParams.dimAmount = 0.0f;

好了,今天的内容就到这里啦,有问题的朋友留言,打球去啦!

源码下载

2 0
原创粉丝点击