Android 各类对话框

本文详细介绍了Android中各类对话框的使用,包括普通对话框、单选对话框、复选对话框、自定义对话框、水平进度条对话框、圆形进度对话框以及日期和时间选择对话框,为开发者提供了完整的参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AlertDialog.Builder对话框创建者
setSingleChoiceItems设置单选列表(单选对话框)
setMultiChoiceItems设置复选列表(复选对话框)
setView设置布局(自定义对话框)
setTitle设置对话框标题
setIcon设置对话框图标
setMessage设置对话框内容
setCancellable设置点击对话框以外是否关闭
setNegativeButton设置消极按钮(取消按钮)
setPositiveButton设置积极按钮(确定按钮)
setNeutralButton设置中性按钮
create创建对话框
show显示对话框
ProgressDilog进度对话框
setProgressStyle设置进度样式
setMax设置最大值
setMessage设置内容
setprogress设置当前进度
show显示
dismiss隐藏

普通对话框

//创建者
 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this)
              .setTitle("普通对话框")//设置内容
              .setIcon(R.mipmap.ic_launcher)//设置图标
              .setMessage("对话框测试\n第二行")//设置内容
             //setCancelable(true)   true/false 点击对话框以外是否关闭
              .setCancelable(false);
                //设置消极按钮  一般用来取消
                builder.setNegativeButton("消极", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "您点击了消极按钮", Toast.LENGTH_SHORT).show();
                    }
                });

                //设置 中性按钮
                builder.setNeutralButton("中性", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "您点击了中性按钮", Toast.LENGTH_SHORT).show();
                    }
                });

                //设置 积极按钮 一般来确定
                builder.setPositiveButton("积极", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "您点击了积极按钮", Toast.LENGTH_SHORT).show();
                    }
                });
                //创建者创建对话框
                AlertDialog alertDialog = builder.create();
                alertDialog.show();//显示

单选对话框

  //创建者
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("单选对话框");//设置标题
                builder.setCancelable(false);//点击对话框以外是否关闭对话框
                //确定按钮
                builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "你点击了ok", Toast.LENGTH_SHORT).show();
                    }
                });
                //取消按钮
                builder.setNegativeButton("cancle", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "选择了cancle", Toast.LENGTH_SHORT).show();
                    }
                });
                final String[] items = {"男人", "女人"};
                //设置单选列表
                //参数一:item列表  参数二:默认选中下标 参数三: 事件监听
                builder.setSingleChoiceItems(items, 2, new DialogInterface.OnClickListener() {
                    @Override//参数一:对话框 参数二:选中的下标
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "你选中的是" + items[which], Toast.LENGTH_SHORT).show();
                    }
                });
                AlertDialog alertDialog = builder.create();
                alertDialog.show();

复选对话框

 //多选对话框
                final String[] items = {"凤姐", "小赵", "如花"};//列表
                final boolean[] flages = {true, false, true};//默认选中列表
                //构建者
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("多选对话框");
                builder.setIcon(R.mipmap.ic_launcher);//设置图标
                builder.setTitle("多选对话框");//设置标题
                builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        for (int i = 0; i < flages.length; i++) {
                            if (flages[i]) {
                                Toast.makeText(MainActivity.this, "是" + items[i], Toast.LENGTH_SHORT).show();
                            }
                        }
                    }
                });
                builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "你点击了cancel", Toast.LENGTH_SHORT).show();
                    }
                });
                //设置多选列表
                //参数一:列表 参数二:默认选中下标 参数三:事件监听
                builder.setMultiChoiceItems(items, flages, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        flages[which] = isChecked;
                    }
                });
                AlertDialog alertDialog = builder.create();
                alertDialog.show();

自定义对话框

				 //构建者
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("自定义对话框");
                //布局填充器
                View inflate = LayoutInflater.from(MainActivity.this).inflate(R.layout.zidingyi, null);
                builder.setView(inflate);//设置自定义布局

                builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                AlertDialog alertDialog = builder.create();
                alertDialog.show();

水平进度条对话框

			 //实例化对象
                final ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
                progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置进度样式
                progressDialog.setMax(100);//设置最大值
                progressDialog.setMessage("正在下载中....");//设置内容
                progressDialog.show();//显示

                //模拟定时器
                final Timer timer = new Timer();
                timer.schedule(new TimerTask() {
                    int prograss = 0;

                    @Override
                    public void run() {
                        if (prograss == 100) {
                            progressDialog.dismiss();
                            timer.cancel();
                        }
                        progressDialog.setProgress(prograss += 20);
                    }
                }, 0, 1000);//0秒后执行,每隔1000毫秒执行一次

圆形进度对话框

			 //实例化对象
                final ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
                progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//设置样式
                progressDialog.setMax(100);
                progressDialog.setMessage("正在下载...");
                progressDialog.show();//显示

                //模拟定时器
                final Timer timer = new Timer();
                timer.schedule(new TimerTask() {
                    int prograss = 0;

                    @Override
                    public void run() {
                        if (prograss == 100) {
                            progressDialog.dismiss();
                            timer.cancel();
                        }
                        progressDialog.setProgress(prograss += 20);
                    }
                }, 0, 1000);//0秒后执行,每隔1000毫秒执行一次

日期选择对话框

  //日期选择对话框 DatePickerDialog
                /*
                 *context 上下文
                 * Listener 监听器
                 * year 默认的年
                 * month 默认的月
                 * dayofMonth 默认的日
                 *
                 */
                //创建日历对象
                Calendar instance = Calendar.getInstance();
                //创建日期选择对话框
                new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                        Toast.makeText(MainActivity.this, year + "-" + (month + 1) + "-" + dayOfMonth, Toast.LENGTH_SHORT).show();
                    }
                }, instance.get(Calendar.YEAR), instance.get(Calendar.MONTH), instance.get(Calendar.DAY_OF_MONTH)).show();

时间对话框

 //时间对话框
                /*
                 * context 上下文
                 * Listener 监听器
                 * hourOfDay 默认的时
                 * minute 默认的分钟
                 * is24HourView 是否采用24时进制
                 */

                //创建日历对象
                Calendar instance = Calendar.getInstance();
                //创建时间对话框
                new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                        Toast.makeText(MainActivity.this, hourOfDay + ":" + minute, Toast.LENGTH_SHORT).show();
                    }
                }, instance.get(Calendar.HOUR), instance.get(Calendar.MINUTE), true).show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值