对话框通常是一个显示在当前 Activity 之前的小窗口。它下面的 Activity 会失去焦点,并且
对话框会接受所有的用户交互。对话框通常用于通知用户中断操作的,并且要执行与应用程
序内进度直接相关的短期任务(如进度条或登录提示)。
Dialog 类是创建对话框的基类。但你通常不应该直接实例化 Dialog 类,而应该使用以下之
类。
AlertDialog
一个能够有一个、两个、三个或没有按钮的对话框,并且能够包含一组复选框或单选按钮的
可选项列表。AlertDialog 对话框有构造大多数对话框用户界面的能力,并且是被建议的对话
框类型。
ProgressDialog
显示一个进度滚轮或进度条的对话框。因为它是 AlertDialog 类型对话框的扩展,所以它也
支持按钮。
DatePickerDialog
允许用户选择日期的对话框。
TimePickerDialog
允许用户选择时间的对话框。
如果你喜欢定制自己对话框,你能够继承 Dialog 类或上面介绍的任何子类,并且要定义一
个新的布局。
显示对话框
对 话 框 总 是 作 为 Activity 的 一 部 分 来 创 建 和 显 示 的 。 你 通 常 应 该 在 Activity 的
onCreateDialog(int)回调方法内创建对话框。在使用这个回调方法时,Android 系统会自动的
管理每个对话框的状态,并且把它们跟 Activity 挂在一起,让 Activity 成为每个对话框的拥
有者。这样每个对话框都会从 Activity 中继承一些属性。例如,当对话框打开时,菜单键依
然能够显示给 Activity 定义的选项菜单,并且音量调节键依然能调整 Activity 使用的音频流
的音量。
注意:如果你在 onCreateDialog()方法外部创建了一个对话框,那么它就不会跟 Activity 捆绑
在一起。但是,你能够使用 setOwnerActivity(Activity)方法来完成捆绑操作。
在首次请求一个对话框是,Android 会调用源自 Activity 中的 onCreateDialog(int)方法,这是
初始化对话框的地方。这个回调方法被传入一个与你传递给 showDialog(int)方法相同的 ID。
创建了这个对话框后,在这个回调方法的最后返回对话框对象。
在对话框显示之前,Android 系统也会选择性的调用 onPrepareDialog(int, Dialog)回调方法。
如果你想要每次打开对话框时都要改变它的一些属性,那么就要定义这个方法。这个方法在
每次打开对话框时被调用,而 onCreateDialog(int)方法仅会在首次打开对话框时被调用。如
果你没有定义 onPrepareDialog()方法,那么对话框会保留它前次被打开的状态。这个方法也
要传递一个对话框的 ID,跟在 onCreateDialog()方法中创建对话框对象的 ID 一样。
定义 onCreateDialog(int)和 onPrepareDialog(int, Dialog)回调方法的最好方式是使用一个
评论0
最新资源