Android对话框
3.1.对话框(Dialog)Dialog是一切对话框的基类,需要注意的是,Dialog虽然可以在界面中显示,但是并非继承于习惯的View类,而是直接从Object继承,类似于Activity,Dialog也是有生命周期的,它的生命周期由Activity维护,Activity负责生成,保存,恢复它.在生命周期的每个阶段都有一些回调方法供系统反向调用.
3.4.1.AlertDialogAlertDialog是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=
北京中科白癜风医院正规吗
中科白癜风医院好吗