参考:http://www.oschina.net/question/54100_32486
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。
1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。

创建dialog对话框方法代码如下:
01 | protectedvoiddialog() { |
02 | AlertDialog.Builder builder =newBuilder(Main.this); |
03 | builder.setMessage("确认退出吗?"); |
04 | builder.setTitle("提示"); |
05 | builder.setPositiveButton("确认",newOnClickListener() { |
07 | publicvoidonClick(DialogInterface dialog,intwhich) { |
12 | builder.setNegativeButton("取消",newOnClickListener() { |
14 | publicvoidonClick(DialogInterface dialog,intwhich) { |
18 | builder.create().show(); |
在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法
1 | publicbooleanonKeyDown(intkeyCode, KeyEvent event) { |
2 | if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() ==0) { |
2.改变了对话框的图表,添加了三个按钮

创建dialog的方法代码如下:
01 | Dialog dialog =newAlertDialog.Builder(this).setIcon( |
02 | android.R.drawable.btn_star).setTitle("喜好调查").setMessage( |
03 | "你喜欢李连杰的电影吗?").setPositiveButton("很喜欢", |
04 | newOnClickListener() { |
06 | publicvoidonClick(DialogInterface dialog,intwhich) { |
08 | Toast.makeText(Main.this,"我很喜欢他的电影。", |
09 | Toast.LENGTH_LONG).show(); |
11 | }).setNegativeButton("不喜欢",newOnClickListener() { |
13 | publicvoidonClick(DialogInterface dialog,intwhich) { |
15 | Toast.makeText(Main.this,"我不喜欢他的电影。", Toast.LENGTH_LONG) |
18 | }).setNeutralButton("一般",newOnClickListener() { |
20 | publicvoidonClick(DialogInterface dialog,intwhich) { |
22 | Toast.makeText(Main.this,"谈不上喜欢不喜欢。", Toast.LENGTH_LONG) |
3.信息内容是一个简单的View类型

创建dialog方法的代码如下:
1 | newAlertDialog.Builder(this).setTitle("请输入").setIcon( |
2 | android.R.drawable.ic_dialog_info).setView( |
3 | newEditText(this)).setPositiveButton("确定",null) |
4 | .setNegativeButton("取消",null).show(); |
4.信息内容是一组单选框

创建dialog方法的代码如下:
1 | newAlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems( |
2 | newString[] {"Item1","Item2"},null,null) |
3 | .setPositiveButton("确定",null) |
4 | .setNegativeButton("取消",null).show(); |
5.信息内容是一组多选框

创建dialog方法的代码如下:
1 | newAlertDialog.Builder(this).setTitle("单选框").setIcon( |
2 | android.R.drawable.ic_dialog_info).setSingleChoiceItems( |
3 | newString[] {"Item1","Item2"},0, |
4 | newDialogInterface.OnClickListener() { |
5 | publicvoidonClick(DialogInterface dialog,intwhich) { |
8 | }).setNegativeButton("取消",null).show(); |
6.信息内容是一组简单列表项

创建dialog的方法代码如下:
1 | newAlertDialog.Builder(this).setTitle("列表框").setItems( |
2 | newString[] {"Item1","Item2"},null).setNegativeButton( |
7.信息内容是一个自定义的布局

dialog布局文件代码如下:
01 | <?xmlversion="1.0"encoding="utf-8"?> |
04 | android:layout_height="wrap_content"android:layout_width="wrap_content" |
05 | android:background="#ffffffff"android:orientation="horizontal" |
06 | android:id="@+id/dialog"> |
07 | <TextViewandroid:layout_height="wrap_content" |
08 | android:layout_width="wrap_content" |
09 | android:id="@+id/tvname"android:text="姓名:"/> |
10 | <EditTextandroid:layout_height="wrap_content" |
11 | android:layout_width="wrap_content"android:id="@+id/etname"android:minWidth="100dip"/> |
创建dialog方法的代码如下:
1 | LayoutInflater inflater = getLayoutInflater(); |
2 | View layout = inflater.inflate(R.layout.dialog, |
3 | (ViewGroup) findViewById(R.id.dialog)); |
4 | newAlertDialog.Builder(this).setTitle("自定义布局").setView(layout) |
5 | .setPositiveButton("确定",null) |
6 | .setNegativeButton("取消",null).show(); |
好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。
另外注,本文参考文章:
http://android.tgbus.com/Android/tutorial/201107/359812.shtml