Android Dev Guide -> User Interface

来源:互联网 发布:iphone看图软件 编辑:程序博客网 时间:2024/05/16 06:15
 

Android Dev Guide -> User Interface

分类: Android 33人阅读 评论(0) 收藏 举报

Android 创建对话框

 

对话框是显示在当前的 Activity 前面的小窗口。位于后面的 Activity 失去焦点, 而由这个对话框处理用户的交互。

对话框常用于打断用户,执行小型的与当前程序有关的任务,例如显示进度条或登录窗口。

 

Dialog 类是所有对话框的基类,但是一般不去实例化Dialog类,而应该实例化下面这些Dialog子类:

 

    AlertDialog 可构造大多数的UI,是最常使用的对话框。

    ProgressDialog  用于显示进度的对话框,它是AlertDialog的子类

    DatePickerDialog  用于选择日期

    TimePickerDialog  用于选择时间

 

另外,可通过子类化Dialog,定义自己的对话框。

 

1、显示对话框(Showing a dialog)

 

    对话框作为Activity的一部分,一般在Activity的 onCreateDialog(int) 回调方法中创建对话框。使用该回调方法创建完对话框

之后,Android系统会自动管理这些对话框的状态,并且使得Activity成为这些对话框的owner。这些对话框也会继承Activity的一些

性质。例如,Menu按键呼出来的菜单、音量调节功能。

 

注意:如果在onCreateDialog(int) 之外创建对话框,那么这个对话框是没有与Activity关联的。可用 setOwnerActivity(Activity)

建立关联。

 

调用 showDialog(int) 以显示对话框。

在对话框显示之后,Android 还可以调用 onPrepareDialog(int,Dialog) 。如果定义了该方法,在对话框每次显示都会调用该方法。

如果没有定义,则每次对话框都显示前面的状态。

 

注释:对话框的ID是我们自己定义的。例如 static final int DIALOG_MESSAGE_ID = 0;

static final int WUXIAO_DIALOG = 1;

 

2、关闭对话框(Dismissing a dialog)

 

    调用 Dialog对象的 dismiss() 方法 或者 调用Activity类中的 dimissDialog(int) 来关闭对话框。(Activity的dismissDialog(int) 也是

调用Dialog对象的 dismiss() 方法。)

    调用removeDialog(int) 将彻底销毁一个对话框(包括其内部状态)

 

3、关闭事件监听器(Using dimiss listeners)

 

     如果你想在关闭对话框之后立即执行一些操作,可以用on-dismiss listeners。

     首先implements DialogInterface.OnDismissListener 接口,覆盖其中的 onDismiss(DialogInterface) 方法。然后,对需要

监听的对话框对象调用 setOnDismissListener() 。(提示:这里跟UI事件的响应方法是一样的。都是监听器)。

 

    注意:dismiss 和 cancel 的区别。一个对话框可以被 dismiss(关闭) 也可以被 cancel(取消)。比如按下后退按钮,则是cancel。cancel事件应该用 DialogInterface.OnCancelListener 接口 和 setOnCancelListener()方法。

原创粉丝点击