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();

    }

posted @ 2016-09-08 23:35  wuyudong  阅读(1822)  评论(0编辑  收藏  举报
Top_arrow