在Android中,Dialog是一个非常重要的UI, 它可以方便的给用户提示,用最简洁的方式向用户展示信息, 以下的图片是Dialog的一个整体架构,通过它,可以总体对Dialog有一个很清晰的认识.
从这张图中可以看到,Dialog为父类, 其下有最重要的, 我们最常用的AlertDilog, 而AlertDialog的子类,则是由DatPicker, ProgressDialog,TimePick来组成.
这几个子类都是我们在程序开发中最常用的,因此要重点理解, 我们可以试着想像一下,如下几个问题的答案
<1> 怎么产生一个Dialog?
<2> Dialog与Activity是什么关系? 为什么显示Dialog的时候,Activity就失去了焦点,不能被点击,在系统内部到底是怎么管理他们的关系的?
我们以ProgressDialog为例, 通过分析其源码,让我们彻底理解它的内部运行机制
<1> 怎么产生一个ProgressDialog?
通过打开ProgressDialog的源码, 可以看到它有2个构造方法,
ProgressDialog(Context context)
ProgressDialog(Context context,int theme)
参数解释: context:说明它是依靠Context,必须通过一个Context来创建它, 第二