在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来使用。