参考网站:http://www.oschina.net/question/54100_32486


在Android开发中,界面上弹出一些对话框,总共可以分为以下7种形式:


1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。

创建dialog对话框方法代码如下:

01 protected void dialog() {
02    AlertDialog.Builder builder = new Builder(Main.this);
03    builder.setMessage("确认退出吗?");
04    builder.setTitle("提示");
05    builder.setPositiveButton("确认", new OnClickListener() {
06    @Override
07    public void onClick(DialogInterface dialog, int which) {
08    dialog.dismiss();
09    Main.this.finish();
10    }
11    });
12    builder.setNegativeButton("取消", new OnClickListener() {
13    @Override
14    public void onClick(DialogInterface dialog, int which) {
15    dialog.dismiss();
16    }
17    });
18    builder.create().show();
19    }
在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法
1 public boolean onKeyDown(int keyCode, KeyEvent event) {
2    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
3    dialog();
4    }
5    return false;
6    }
2.改变了对话框的图表,添加了三个按钮

创建dialog的方法代码如下:

01 Dialog dialog = new AlertDialog.Builder(this).setIcon(
02    android.R.drawable.btn_star).setTitle("喜好调查").setMessage(
03    "你喜欢李连杰的电影吗?").setPositiveButton("很喜欢",
04    new OnClickListener() {
05    @Override
06    public void onClick(DialogInterface dialog, int which) {
07    // TODO Auto-generated method stub
08    Toast.makeText(Main.this, "我很喜欢他的电影。",
09    Toast.LENGTH_LONG).show();
10    }
11    }).setNegativeButton("不喜欢", new OnClickListener() {
12    @Override
13    public void onClick(DialogInterface dialog, int which) {
14    // TODO Auto-generated method stub
15    Toast.makeText(Main.this, "我不喜欢他的电影。", Toast.LENGTH_LONG)
16    .show();
17    }
18    }).setNeutralButton("一般", new OnClickListener() {
19    @Override
20    public void onClick(DialogInterface dialog, int which) {
21    // TODO Auto-generated method stub
22    Toast.makeText(Main.this, "谈不上喜欢不喜欢。", Toast.LENGTH_LONG)
23    .show();
24    }
25    }).create();
26    dialog.show();
3.信息内容是一个简单的View类型

创建dialog方法的代码如下:

1 new AlertDialog.Builder(this).setTitle("请输入").setIcon(
2    android.R.drawable.ic_dialog_info).setView(
3    new EditText(this)).setPositiveButton("确定", null)
4    .setNegativeButton("取消", null).show();
4.信息内容是一组单选框

创建dialog方法的代码如下:

1 new AlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems(
2    new String[] { "Item1", "Item2" }, null, new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:

break;

case 1:

break;

default:
break;
}

})
3    .setPositiveButton("确定", null)
4    .setNegativeButton("取消", null).show();
5.信息内容是一组多选框

创建dialog方法的代码如下:

1 new AlertDialog.Builder(this).setTitle("单选框").setIcon(
2    android.R.drawable.ic_dialog_info).setSingleChoiceItems(
3    new String[] { "Item1", "Item2" }, 0,
4    new DialogInterface.OnClickListener() {
5    public void onClick(DialogInterface dialog, int which) {
6    dialog.dismiss();
7    }
8    }).setNegativeButton("取消", null).show();
6.信息内容是一组简单列表项

创建dialog的方法代码如下:

void chooseWay() {
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle(R.string.consultant_way);
String[] items = {getString( "Item1", "Item2")};
b.setItems(items, new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:

break;

case 1:

break;

default:
break;
}

}
});
b.create().show();
}

1
信息内容是一个自定义的布局

dialog布局文件代码如下:

01 <?xml version="1.0" encoding="utf-8"?>
02
03   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
04    android:layout_height="wrap_content" android:layout_width="wrap_content"
05    android:background="#ffffffff" android:orientation="horizontal"
06    android:id="@+id/dialog">
07    <TextView android:layout_height="wrap_content"
08    android:layout_width="wrap_content"
09    android:id="@+id/tvname" android:text="姓名:" />
10    <EditText android:layout_height="wrap_content"
11    android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/>
12   </LinearLayout>
创建dialog方法的代码如下:
1 LayoutInflater inflater = getLayoutInflater();
2    View layout = inflater.inflate(R.layout.dialog,
3    (ViewGroup) findViewById(R.id.dialog));
4    new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
5    .setPositiveButton("确定", null)
6    .setNegativeButton("取消", null).show();

以上7种Android dialog对话框的使用方法.

更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. Android(安卓)Preference使用
  5. Android(安卓)在 LinearLayout 添加分割线 divider
  6. Android青翼蝠王之ContentProvider
  7. Android快速入门
  8. android SimpleOnGestureListener详解
  9. 两分钟彻底让你明白Android中onInterceptTouchEvent与onTouchEve

随机推荐

  1. 12条经验,让你在机器学习的路上避免很多坑
  2. 全息金融行业数据安全解决方案
  3. 用两种非传统的爬虫,我把CSDN博主的底裤都
  4. Ansible 之 lineinfile 模块使用
  5. Python探索性数据分析,这样才容易掌握
  6. 地表最强选秀的瓜吃了一天,结果发现地图才
  7. Python 爬完评论只会做词云?情感分析了解
  8. 可视化日志服务器搭建
  9. 体检异常率97%,这届90后身体到底有多差
  10. 监控流媒体服务器的搭建和使用