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



作者:沐络
链接:https://www.jianshu.com/p/cd8bd2cb78c7
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

更多相关文章

  1. Android(安卓)自动点击
  2. Android(安卓)的签名
  3. Android:WebView全面总结
  4. [置顶] 两分钟彻底让你明白Android(安卓)Activity生命周期(图文)
  5. Android中AsyncTask与handler用法实例分析
  6. Android(安卓)中不同项目共用通用库Module方法
  7. Android中BroadcastReceiver的运用
  8. Canvas和Drawable
  9. Android操作JNI函数以及复杂对象传递

随机推荐

  1. App应用之提交到各大市场渠道
  2. android中判断网络和WIFI是否连接
  3. Android5.0通知变化浅析
  4. android中判断网络和WIFI是否连接
  5. android 插件化 与一个轻量级框架
  6. 热更新预言
  7. popwindow动画显示消失,activity切换动画
  8. Android(安卓)Handler leak 分析及解决办
  9. onRetainNonConfigurationInstance和getL
  10. Android(安卓)Material Design 进度条 自