第一天Dialog对话框类型

普通对话框
单选对话框
多选对话框
时间对话框
日期对话框
进度对话框
自定义内容对话框 
自定义对话框

1.普通对话框

 public void one1(View view) {
        //创建对话框
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        //设置图标
        builder.setIcon(R.mipmap.ic_launcher);
        //设置标题
        builder.setTitle("我是标题");
        //设置内容
        builder.setMessage("你干什么呢");
        
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "你点击了确认", Toast.LENGTH_SHORT).show();
            }
        });
        
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "你点击了取消", Toast.LENGTH_SHORT).show();
            }
        });
        //点击空白处是否取消对话框
        builder.setCancelable(true);
        //启动对话框
        builder.create();
        //展示对话框
        builder.show();

    }

效果:

2.单选对话框

public void one2(View view) {
        //创建对话框
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置图标
        builder.setIcon(R.mipmap.ic_launcher);
        //设置标题
        builder.setTitle("单选对话框");
        //设置选择内容
        final String[] strings=new String[]{"男","女"};
        //单选点击事件,获取
        builder.setSingleChoiceItems(strings, 0, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, strings[i], Toast.LENGTH_SHORT).show();
            }
        });

        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "你点击了确认", Toast.LENGTH_SHORT).show();
            }
        });

        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "你点击了取消", Toast.LENGTH_SHORT).show();
            }
        });
        //启动对话框
        AlertDialog alertDialog = builder.create();
        //展示对话框
        alertDialog.show();

    }

效果 :

3.多选对话框

public void one3(View view) {
        //创建对话框对象
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setIcon(R.mipmap.ic_launcher);//设置图标
        builder.setTitle("多选对话框");//设置标题
        //多选内容
        final String[] strings=new String[]{"张三","李四","王二","麻子"};
        //状态数组
        final boolean[] booleans=new boolean[]{true,false,false,false};
        builder.setMultiChoiceItems(strings, booleans, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i, boolean b) {
                booleans[i]=b;
                Toast.makeText(MainActivity.this, strings[i]+""+b, Toast.LENGTH_SHORT).show();
            }
        });

        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "你点击了确认", Toast.LENGTH_SHORT).show();
            }
        });

        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "你点击了取消", Toast.LENGTH_SHORT).show();
            }
        });
        builder.create().show();
    }

效果:

4.时间对话框

public void one4(View view) {
        //创建日历对象
        Calendar calendar=Calendar.getInstance();
        //获取当前时
        int hour = calendar.get(Calendar.HOUR);
        //获取当前分钟
        int minute = calendar.get(Calendar.MINUTE);
        //创建时间对话框
        TimePickerDialog timePickerDialog = 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();
                    }
                },hour,minute,true);

        timePickerDialog.show();//启动并展示对话框
    }

效果:

 5.日期对话框

public void one5(View view) {
        //创建日历对象
        Calendar calendar=Calendar.getInstance();
        //获取年份
        int year = calendar.get(Calendar.YEAR);
        //获取月份
        int month = calendar.get(Calendar.MONTH);
        //获取日
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        //创建日期对话框
        DatePickerDialog datePickerDialog = new DatePickerDialog(this,
                new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
                Toast.makeText(MainActivity.this, i+"年"+(i1+1)+"月"+i2+"日", Toast.LENGTH_SHORT).show();
            }
        },year,month,day);

        datePickerDialog.show();//启动并打开对话框
    }

效果:

6.进度对话框

public void one7(View view) {
        final ProgressDialog progressDialog = new ProgressDialog(this);
        //文件的大小
        progressDialog.setMax(100);
        progressDialog.setProgress(20);
        progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

        progressDialog.setMessage("正在下载");

        //定时器
        final Timer timer=new Timer();
        timer.schedule(new TimerTask() {
            int progress=0;
            @Override
            public void run() {
                if (progress>=100){
                    timer.cancel();//取消定时器
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            progressDialog.hide();//关闭对话框
                        }
                    });
                }
                progress+=10;
                progressDialog.setProgress(progress);
            }
        },0,1000);//每隔一秒执行一次
        //启动对话框
        progressDialog.show();
    }

效果:

7.自定义 内容对话框

public void one8(View view) {
        //创建一个对话框
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setIcon(R.mipmap.ic_launcher);//设置图标
        builder.setTitle("自定内容对话框");//设置标题
        //布局加载器
        View inflate = LayoutInflater.from(this).inflate(R.layout.layout_buone, null);

        builder.setView(inflate);

        builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "ok", Toast.LENGTH_SHORT).show();
            }
        });
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(MainActivity.this, "no", Toast.LENGTH_SHORT).show();
            }
        });
        //启动对话框
        builder.create().show();

    }

效果: 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值