下面代码写了常见的几个对话框,包含:

1、确定取消对话框

2、单选对话框

3、多选对话框

4、进度对话框(加载时的)

5、下载进度对话框

packagecom.yuanlp.dialogs;importandroid.app.ProgressDialog;importandroid.content.DialogInterface;importandroid.os.Bundle;importandroid.support.v7.app.AlertDialog;importandroid.support.v7.app.AppCompatActivity;importandroid.view.View;importandroid.widget.Toast;publicclassMainActivityextendsAppCompatActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}/***创建一个确定取消对话框*@paramview*/publicvoidclick1(Viewview){//工厂设计模式,获取对话框工厂AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setTitle("警告");builder.setMessage("欲练此功,必先自宫");builder.setPositiveButton("是",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){Toast.makeText(MainActivity.this,"点击了是",Toast.LENGTH_SHORT).show();}});builder.setNegativeButton("否",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){Toast.makeText(MainActivity.this,"不自宫,不成功",Toast.LENGTH_SHORT).show();}});//一定要显示show,不然不会显示builder.show();}/***创建一个单选对话框*@paramview*/publicvoidclick2(Viewview){//工厂设计模式,获取对话框工厂finalAlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setTitle("请选择姓名");finalString[]items=newString[]{"男","女","未知"};builder.setSingleChoiceItems(items,-1,newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){Toast.makeText(MainActivity.this,"选择的性别是:"+items[which],Toast.LENGTH_LONG).show();//关闭对话框dialog.dismiss();}});//一定要显示show,不然不会显示builder.show();}/***创建一个多选对话框*@paramview*/publicvoidclick3(Viewview){//工厂设计模式,获取对话框工厂AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setTitle("警告");finalString[]items={"苹果","香蕉","梨子","桃子"};finalboolean[]checkdes={false,true,true,true};//参数解析:第一个是多选项的一个集合,第二个是每个选项默认的选择状态,第三个是监听builder.setMultiChoiceItems(items,checkdes,newDialogInterface.OnMultiChoiceClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich,booleanisChecked){Toast.makeText(MainActivity.this,items[which]+isChecked,Toast.LENGTH_SHORT).show();}});builder.setPositiveButton("是",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){StringBuffersb=newStringBuffer();for(inti=0;i<checkdes.length;i++){if(checkdes[i]){sb.append(items[i]+"");}}Toast.makeText(MainActivity.this,"喜欢吃的水果是:"+sb.toString(),Toast.LENGTH_SHORT).show();}});//一定要显示show,不然不会显示builder.show();}/***创建一个进度对话框*@paramview*/publicvoidclick4(Viewview){//工厂设计模式,获取对话框工厂finalProgressDialogpd=newProgressDialog(this);pd.setTitle("稍等");pd.setMessage("正在拼命加载中");//一定要显示show,不然不会显示pd.show();newThread(){@Overridepublicvoidrun(){try{Thread.sleep(20000);}catch(InterruptedExceptione){e.printStackTrace();}pd.dismiss();//关闭对话框}}.start();}/***创建具体进度条的对话框*@paramview*/publicvoidclick5(Viewview){//工厂设计模式,获取对话框工厂finalProgressDialogpd=newProgressDialog(this);pd.setTitle("请等待");pd.setMessage("正在拼命加载");pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);pd.setMax(100);//一定要显示show,不然不会显示pd.show();newThread(){@Overridepublicvoidrun(){try{for(inti=0;i<100;i++){Thread.sleep(300);pd.setProgress(i);}}catch(InterruptedExceptione){e.printStackTrace();}pd.dismiss();}}.start();}}