Android中Dialog的“生命周期”

在android中Dialog是我们常用的控制之一,经常来做一些提示相关的工作 ,Google为了方便开发者,也给我们提供了很多Dialog相关的定制化方法,也能在github上找到许多找到很多样式各异的Dialog。

但是在平常的开发中有时我们也需要简单的了解一下他的“生命周期”当然这里的生命周期只是我的个人统称,通常一个Dialog的简单一生是,create ->show ->dismiss 就这样终结了

下面试一个简单的Dialog的使用:

有些时候我们需要在Dialog的一些方法中处理一些事情,我最近就有一个类似的需求,在Dialog消失的时候处理一些相关的事情,但是又不能强迫用户非要去单击你的确认或者取消按钮,于是就只能通过监听Dialog消失时所走的一些方法,因为Dialog消失有很多种情况,但是又怎么保证你写的方法一定会在Dialog消失时执行哪,于是就各种尝试,最后发现不管你怎么把Dialog弄消失,最后都会执行onDismissListener的监听方法

情况一:单击返回键或单击屏幕其他地方时,Dialog会执行onCancel ->onDismiss

情况二:单击Dialog上的按钮:Dialog会直接执行onDismiss的监听方法

当然进程被杀掉这是一种特殊情况下

以上只是Dialog的简单解释,Dialog还有博大精深的需要自己慢慢挖掘,当然有时候我们也可以把一个Activity当做Dialog来使用,只需要我们写好相关的布局样式,然后给这个Activity设置自己的主题样式,主要就是android:backgroundDimAmount 的设置和android:windowBackground以及android:windowIsTranslucent的设置就可以简单的实现把一个Activity当Dialog来使用。

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,663评论 25 708
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,910评论 22 665
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,571评论 0 17
  • 水天浩淼叹空阔,老病淸凄捱晨昏。遥想家园乐融融,忍看异乡雪纷纷。夜夜魂梦归故里,高朋满座酒满樽。
    成都独行侠阅读 208评论 0 2
  • 我爱你,这个世界有时候很坏,愿你被温柔以待,因为你值得被认真对待,不管现在和未来。
    气球先生阅读 230评论 0 2