Android 对话框总结(确定取消,单选,多选,进度条,具体的进度条)

    /**
     * 弹出确定取消对话框
     *
     * @param view
     */
    public void click01(View view) {
        // 工厂设计模式,得到创建对话框的工厂
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("警告");
        builder.setMessage("若练此功,必先自宫,是否继续?");
        builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "啊...即便自宫,也不一定能成功", Toast.LENGTH_SHORT).show();
            }
        });
        builder.setNegativeButton("否", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "如果不自宫,一定不成功", Toast.LENGTH_SHORT).show();
            }
        });
        builder.show();
    }
    /**
     * 单选对话框
     *
     * @param view
     */
    public void click02(View view) {
        // 工厂设计模式,得到创建对话框的工厂
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("请选择您的性别:");
        final String[] items = {"男", "女", "人妖"};
        builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "您的性别为:" + items[which], Toast.LENGTH_SHORT).show();
                dialog.dismiss();
            }
        });
        builder.show();
    }
    /**
     * 多选对话框
     *
     * @param view
     */
    public void click03(View view) {
        // 工厂设计模式,得到创建对话框的工厂
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("请选择您爱吃的水果:");
        final String[] items = {"苹果", "梨子", "香蕉", "菠萝", "哈密瓜"};
        final boolean[] checkeds = {true, false, true, false, true};
        builder.setMultiChoiceItems(items, checkeds, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                Toast.makeText(MainActivity.this, items[which] + isChecked, Toast.LENGTH_SHORT).show();
            }
        });
        builder.setPositiveButton("提交", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                StringBuffer sb = new StringBuffer();
                for (int i = 0; i < checkeds.length; i++) {
                    if (checkeds[i]) {
                        sb.append(items[i] + " ");
                    }
                }
                Toast.makeText(MainActivity.this, "您喜欢吃的水果是:" + sb.toString(), Toast.LENGTH_SHORT).show();
            }
        });
        builder.show();
    }

    /**
     * 进度对话框
     *
     * @param view
     */
    public void click04(View view) {
        final ProgressDialog pd = new ProgressDialog(this);
        pd.setTitle("请稍后:");
        pd.setMessage("正在拼命加载中...");
        pd.show();
        new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(30000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                pd.dismiss();
            }
        }.start();
    }

    /**
     * 带具体进度的对话框
     *
     * @param view
     */
    public void click05(View view) {
        final ProgressDialog pd = new ProgressDialog(this);
        pd.setTitle("请稍后:");
        pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        pd.setMessage("正在拼命加载中...");
        // 设置进度条的最大值
        pd.setMax(100);
        pd.show();

        new Thread() {
            @Override
            public void run() {
                for (int i = 0; i < 100; i++) {
                    try {
                        Thread.sleep(300);
                        pd.setProgress(i);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                pd.dismiss();
            }
        }.start();
    }
  • 输入框的
final EditText inputServer = new EditText(this);
        inputServer.setHint("url");
        inputServer.setText(url);
        AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this);
        builder.setTitle("请求不到服务器,请检查url:");
        builder.setView(inputServer);
        //    通过LayoutInflater来加载一个xml的布局文件作为一个View对象

        builder.setPositiveButton("确定", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                String server = inputServer.getText().toString().trim();
                //    将输入的打印出来
                Toast.makeText(LoginActivity.this, " url" + server, Toast.LENGTH_SHORT).show();
            }
        });
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                Toast.makeText(LoginActivity.this,"你一点击取消", Toast.LENGTH_SHORT).show();
            }
        });
        builder.show();

网上也有比较好的
https://blog.csdn.net/wanzdhan/article/details/7024834

猜你喜欢

转载自blog.csdn.net/shunlijian2283/article/details/82963107
今日推荐