还是先从最简单的开始吧,然后一步一步的扩展。
为了保证软件上所谓的低耦合度和可重用性,这里我不得不需要单独建立一个类CustomerDialog,然后继承AlertDialog
然后添加一个带Context参数的构造器,context(上下文)通俗点讲一般是指归属于那个,这里就归属于调用的那个Acitivity,
也就是说这个对话框是针对调用的那个Activity
接下来需要对AlertDialog的 onCreate方法覆盖,否则在外面就无法获得你创建的那个自定义对话框的内容了(当然你也可以直接在构造方法里调用setView,当这样一来耦合度就增加了),然后把自己的自定义内容通过setView关联进去。
具体实现:
第一步:
res/layout/main.xml
定义一个button按钮,用来点击后弹出自定义对话框
第二步:创建自定义对话框类
src/com/dialog/ui/CustomerDialog.java
第三步:在创建一个Activity
src/com/dialog/activity/CustomerDialogActivity.java
上个丑陋的效果图(源码就不提供了)
接下来将继续扩展到自定义xml里面