安卓入门与精通Android对话框学

Android对话框

3.1.对话框(Dialog)

Dialog是一切对话框的基类,需要注意的是,Dialog虽然可以在界面中显示,但是并非继承于习惯的View类,而是直接从Object继承,类似于Activity,Dialog也是有生命周期的,它的生命周期由Activity维护,Activity负责生成,保存,恢复它.在生命周期的每个阶段都有一些回调方法供系统反向调用.

3.4.1.AlertDialog

AlertDialog是Dialog的一个子类,AlertDialog也是Android系统中最常用的对话框之一。一个AlertDialog可以有2个到3个按钮,可以对一个AlertDialog设置title以及Message。不能直接通过AlertDialog的构造参数生成一个AlertDialog,而是通过它的一个静态内部类AlertDialog.Builder来构造的。

3.4.2.AlertDialog.Builder:

AlertDialog类中有一个内部类,名为‘Builder’,Builder类提供了为对话框添加多选或单选列表,以及为这些列表添加事件处理的功能。另外,这个Builder类将AlertDialog对话框上的3个按钮按照他们的位置分别称呼为:PositiveButton,NeutralButton,NegativeButton

下列代码是一个多选列表的例子:(注,适用于Android3.0以前,3.0以后过时)

privateMyOnClickListenermyOnClickListener=newMyOnClickListener();

publicvoidcreaterDialog(){

//创建一个对话框

AlertDialogdialog=newAlertDialog.Builder(this).create();

//使用对话框添的组件,默认只有三个按钮和一个文本消息

dialog.setMessage(这是一个AlertDialog);

dialog.setButton(确定,myOnClickListener);

dialog.setButton(取消,myOnClickListener);

//设置对话框显示

dialog.show();

}

为了监听对话框事件,自定义了一个MyOnClickListener:

n注:这个OnClickListener来自android.content.DialogInterface

publicclassMyOnClickListenerimplementsOnClickListener{

publicvoidonClick(DialogInterfacedialog,intwhich){

//对话框事件监听

switch(which){

caseAlertDialog.BUTTON1:{

//通过AlertDialog获取对话框中的默认按钮ID

}

caseAlertDialog.BUTTON2:{}

}

}

}

3.4.3.使用编程来创建对话框内容

//核心代码:先创建一个AlertDialog.Builder,利用它创建一个AlertDialog对象

AlertDialog.Builderbuilder2=newAlertDialog.Builder(this);

builder2.setTitle(核心提示:);

builder2.setMessage(AlertDialog是Dialog的一个子类,AlertDialog也是Android系统中最常用的对话框之一.一个AlertDialog可以有2个到3个按钮,可以对一个AlertDialog设置title以及Message.不能直接通过AlertDialog的构造参数生成一个AlertDialog,而是通过它的一个静态内部类AlertDialog.Builder来构造的.);

builder2.setIcon(R.drawable.ic_menu_close_clear_cancel);

//设置确定按钮

builder2.setPositiveButton(确定,newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,intwhich){

}

});

//设置普通按钮

builder2.setNeutralButton(查看详细,newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,intwhich){

}

});

//设置取消按钮

builder2.setNegativeButton(取消,newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,intwhich){

}

});

builder2.show();

3.4.4.使用XML文件来创建对话框内容

(1)在layout目录下创建dialog.xml

?xmlversion=1.0encoding=utf-8?

TableLayoutxmlns:android=







































北京中科白癜风医院正规吗
中科白癜风医院好吗



转载请注明:http://www.gslnbdf.com/azyx/10194.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了