第一天 初识对话框

一、常用对话框

1.普通对话框

//构造者
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置标题前的图片
        builder.setIcon(R.drawable.ic_launcher_background);
        //设置标题
        builder.setTitle("确认吗");
        //设置内容
        builder.setMessage("选择吐司");
        //设置右按钮
        builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "点击了OK", Toast.LENGTH_SHORT).show();
            }
        });
        //设置左按钮
        builder.setNegativeButton("no", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "点击了no", Toast.LENGTH_SHORT).show();
            }
        });
        //创建对话框
        builder.create();
        //展示对话框
        builder.show();

2.单选对话框

//构造者
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置标题前的图片
        builder.setIcon(R.drawable.ic_launcher_background);
        //设置标题
        builder.setTitle("你出生的城市");
        //设置内容
        //builder.setMessage("你出生自:");

        final String[] strings={"山西","河南","山东"};

        builder.setSingleChoiceItems(strings, 2, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "你选中"+strings[i], Toast.LENGTH_SHORT).show();
            }
        });

        //设置右按钮
        builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "点击了OK", Toast.LENGTH_SHORT).show();
            }
        });
        //设置左按钮
        builder.setNegativeButton("no", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "点击了no", Toast.LENGTH_SHORT).show();
            }
        });
        //创建对话框
        builder.create();
        //展示对话框
        builder.show();

3.多选对话框

//构造者
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置标题前的图片
        builder.setIcon(R.drawable.ic_launcher_background);
        //设置标题
        builder.setTitle("你去过的城市");
        //设置内容
        //builder.setMessage("你出生自:");

        final String[] strings = {"山西","河南","山东"};
        final boolean[] booleans ={true,false,false};

        builder.setMultiChoiceItems(strings, booleans, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i, boolean b) {
                booleans[i] = b;
            }
        });

        //设置右按钮
        builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                for (int j = 0; j < booleans.length; j++) {
                    if (booleans[j]){
                        Toast.makeText(MainActivity.this, "你选择的"+strings[j], Toast.LENGTH_SHORT).show();
                    }
                }
            }
        });
        //设置左按钮
        builder.setNegativeButton("no", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "点击了no", Toast.LENGTH_SHORT).show();
            }
        });
        //创建对话框
        builder.create();
        //展示对话框
        builder.show();

4.水平对话框&圆形对话框

水平和圆形只需更改进度条样式即可
//水平对话框对象
        final ProgressDialog progressDialog = new ProgressDialog(this);
        //设置内容
        progressDialog.setMessage("正在下载");
        //设置当前进度,第二进度,最大进度
        //progressDialog.setProgressStyle(20);
        progressDialog.setMax(100);
        //progressDialog.setSecondaryProgress(50);

        //设置进度条样式
        progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        //progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

        //展示对话框
        progressDialog.show();
        //定时器对象
        final Timer timer = new Timer();
        //分配任务 参数1:任务,参数2:几秒后开始,参数3:任务执行间隔
        timer.schedule(new TimerTask() {
            int i = 0;
            @Override
            public void run() {
                i+=10;
                progressDialog.setProgress(i);
                if (i > 100){
                    //取消定时器
                    timer.cancel();
                    //隐藏对话框
                    progressDialog.dismiss();
                }
            }
        },1000,1000);

5.日期选择对话框

//获取日历对象
        Calendar calendar = Calendar.getInstance();
        //日期选择对话框 参数1:上下文,参数2:监听器,参数3:年,参数4:月,参数5:日
        new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
                Toast.makeText(MainActivity.this, i+"年"+i1+"月"+i2+"日", Toast.LENGTH_SHORT).show();
            }
        },calendar.get(calendar.YEAR),calendar.get(calendar.MONTH),calendar.get(calendar.DAY_OF_MONTH)).show();

6.时间选择对话框

 //获取日历对象
        Calendar calendar = Calendar.getInstance();
        //时间选择器对话框参数1:上下文,参数2:监听器,参数3:时,参数4:分,参数5:是否选择24日期制
        new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker timePicker, int i, int i1) {
                Toast.makeText(MainActivity.this, i+"点"+i1+"分", Toast.LENGTH_SHORT).show();
            }
        },calendar.get(calendar.HOUR),calendar.get(calendar.MINUTE),true).show();

7.简单自定义对话框

//构造者
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置标题前的图片
        builder.setIcon(R.drawable.ic_launcher_background);
        //设置标题
        builder.setTitle("动物");

        //获取布局对象
        View inflate = LayoutInflater.from(MainActivity.this).inflate(R.layout.diglogmine, null);
        //设置给自定义布局
        builder.setView(inflate);

        //设置右按钮
        builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "点击了OK", Toast.LENGTH_SHORT).show();
            }
        });
        //设置左按钮
        builder.setNegativeButton("no", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "点击了no", Toast.LENGTH_SHORT).show();
            }
        });

        //创建对话框
        builder.create();
        //展示对话框
        builder.show();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值