你的位置:首页 > 操作系统

[操作系统]Android 常见对话框


1、对话框通知(Dialog Notification)

当你的应用需要显示一个进度条或需要用户对信息进行确认时,可以使用对话框来完成。

下面代码将打开一个如图所示的对话框:

  public void click1(View view) {    AlertDialog.Builder builder = new Builder(this);    builder.setTitle("工学1号馆");    builder.setIcon(R.drawable.ic_launcher);    builder.setMessage("浏览wuyudong的博客?");    builder.setPositiveButton("确定", new OnClickListener() {      @Override      public void onClick(DialogInterface dialog, int which) {        Uri uri = Uri.parse("http://www.wuyudong.com/");// 打开链接        Intent intent = new Intent(Intent.ACTION_VIEW, uri);        startActivity(intent);      }    });    builder.setNegativeButton("取消", new OnClickListener() {      @Override      public void onClick(DialogInterface dialog, int which) {         dialog.cancel();      }    });    AlertDialog dialog = builder.create();    dialog.show();  }

本文地址:http://www.cnblogs.com/wuyudong/p/5854896.html,转载请注明源地址。

2、创建带单选项列表的对话框

  public void click2(View view) {    AlertDialog.Builder builder = new Builder(this);    builder.setTitle("单选对话框");    final String[] items = new String[] { "java", ".net", "php" };    builder.setSingleChoiceItems(items, 0, new OnClickListener() {      @Override      public void onClick(DialogInterface dialog, int which) {        Toast.makeText(MainActivity.this, items[which] + "被点击了", 0)            .show();      }    });    builder.show();  }

3、创建带多选项列表的对话框

  public void click3(View view) {    AlertDialog.Builder builder = new Builder(this);    builder.setTitle("多选对话框");    final String[] items = new String[] { "java", ".net", "php", "C++" };    builder.setMultiChoiceItems(items, new boolean[] { true, false, false,        true }, new OnMultiChoiceClickListener() {      @Override      public void onClick(DialogInterface dialog, int which,          boolean isChecked) {        Toast.makeText(MainActivity.this, items[which] + isChecked, 0)            .show();      }    });    builder.setNegativeButton("取消", new OnClickListener() {      @Override      public void onClick(DialogInterface dialog, int which) {        dialog.cancel();      }    });    builder.show();  }

 4、进度对话框(ProgressDialog)

使用代码ProgressDialog.show(ProgressDialogActivity.this, "请稍等", "数据正在加载中...", true);创建并显示一个进度对话框。
调用setProgressStyle()方法设置进度对话框风格。有两种风格:
ProgressDialog.STYLE_SPINNER 旋体进度条风格 (为默认风格)
ProgressDialog.STYLE_HORIZONTAL 横向进度条风格

  public void click4(View view) {    ProgressDialog pd = new ProgressDialog(this);    pd.setTitle("提醒");    pd.setMessage("正在加载中......");    pd.show();  }

下面的代码实现横向进度条风格:

  public void click5(View view) {    final ProgressDialog pd = new ProgressDialog(this);    pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);    pd.setMax(100);    pd.show();    new Thread() {      public void run() {        for (int i = 0; i < 100; i++) {          pd.setProgress(i);          try {            Thread.sleep(20);          } catch (InterruptedException e) {            e.printStackTrace();          }        }        pd.dismiss();      };    }.start();  }