Android Dialog的十种类型汇总

  1. 普通对话框
button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder builder = new AlertDialog.Builder(AlertDialogActivity.this);
                builder.setTitle("普通对话框");
                builder.setMessage("这是一个普通的对话框");
                builder.setIcon(R.mipmap.ic_launcher);
                builder.create();//创建
                builder.show();//显示
            }
        });

这里写图片描述
2. 确定取消对话框

button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder builder2 = new AlertDialog.Builder(AlertDialogActivity.this);
                builder2.setTitle("确定或取消对话框");
                builder2.setMessage("请选择确定或取消");
                builder2.setIcon(R.mipmap.ic_launcher);
                builder2.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(AlertDialogActivity.this, "确定", Toast.LENGTH_SHORT).show();
                    }
                });
                builder2.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(AlertDialogActivity.this, "取消", Toast.LENGTH_SHORT).show();
                    }
                });

                builder2.create();
                builder2.show();
            }
        });

这里写图片描述
3. 多按钮对话框

button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder builder3 = new AlertDialog.Builder(AlertDialogActivity.this);
                builder3.setTitle("多个按钮对话框");
                builder3.setMessage("请选择");
                builder3.setIcon(R.mipmap.ic_launcher);
                builder3.setPositiveButton("继续浏览", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(AlertDialogActivity.this, "继续浏览", Toast.LENGTH_SHORT).show();
                    }
                });
                builder3.setNeutralButton("暂停", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(AlertDialogActivity.this, "暂停", Toast.LENGTH_SHORT).show();
                    }
                });
                builder3.setNegativeButton("离开页面", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(AlertDialogActivity.this,"离开",Toast.LENGTH_SHORT).show();
                    }
                });

                builder3.create();
                builder3.show();
            }
        });

这里写图片描述
4. 列表对话框

 button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                final String[] arrItem = getResources().getStringArray(R.array.oem);
                AlertDialog.Builder builder4 = new AlertDialog.Builder(AlertDialogActivity.this);
                builder4.setTitle("列表对话框");
                builder4.setIcon(R.mipmap.ic_launcher);
                builder4.setItems(arrItem, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(AlertDialogActivity.this, "你选择了" + arrItem[i], Toast.LENGTH_SHORT).show();
                    }
                });
                builder4.create().show();
            }
        });

这里写图片描述
5. 带Adapter的对话框

button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder builder5 = new AlertDialog.Builder(AlertDialogActivity.this);
                builder5.setTitle("带Adapter的对话框");
                builder5.setIcon(R.mipmap.ic_launcher);
                //获取数据源
                //创建List对象并且实例化
                final List<Map<String,Object>> list = new ArrayList<Map<String, Object>>();

                //图片
                int[] arrImgID = {R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher};

                for (int i  = 0;i<arrImgID.length;i++){
                    Map<String,Object> map = new HashMap<String, Object>();
                    map.put("img",arrImgID[i]);
                    map.put("title","title"+i);
                    list.add(map);
                }

                SimpleAdapter mAdapter = new SimpleAdapter(AlertDialogActivity.this,list,R.layout.layout_test1,new String[]{"img","title"},new int[]{R.id.iv,R.id.tv});
                //将数据填充到builder中
                builder5.setAdapter(mAdapter, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(AlertDialogActivity.this, "你选择了" + list.get(i).get("title").toString().trim(), 0).show();
                    }
                });
                builder5.create().show();
            }
        });

这里写图片描述
6. 单选对话框

button6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder builder6 = new AlertDialog.Builder(AlertDialogActivity.this);
                builder6.setTitle("单选对话框");
                builder6.setIcon(R.mipmap.ic_launcher);
                builder6.setSingleChoiceItems(R.array.oem, 0, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(AlertDialogActivity.this, i + "", 0).show();
                    }
                });
                builder6.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });
                builder6.create().show();
            }
        });

这里写图片描述
7. 多选对话框

button7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder builder7 = new AlertDialog.Builder(AlertDialogActivity.this);
                builder7.setTitle("多选对话框");
                builder7.setIcon(R.mipmap.ic_launcher);
                builder7.setMultiChoiceItems(R.array.oem, null, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i, boolean b) {
                        Toast.makeText(AlertDialogActivity.this, i + "" + b, 0).show();
                    }
                });
                builder7.create().show();
            }
        });

这里写图片描述
8. 日期对话框

button8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //创建DatePickerDialog对象并且实例化
                DatePickerDialog datePickerDialog = new DatePickerDialog(AlertDialogActivity.this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
                        Toast.makeText(AlertDialogActivity.this,i+"年"+(i1+1)+"月"+i2+"日",0).show();
                    }
                },2015,10,16);
                //Date和Time只用show()
                datePickerDialog.show();
            }
        });

这里写图片描述
9. 时间对话框

button9.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                TimePickerDialog timePickerDialog = new TimePickerDialog(AlertDialogActivity.this, new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker timePicker, int i, int i1) {
                        Toast.makeText(AlertDialogActivity.this,i+"点"+i1+"分",0).show();
                    }
                },23,30,true);
                timePickerDialog.show();
            }
        });

这里写图片描述
10. 自定义对话框

button10.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder builder10 = new AlertDialog.Builder(AlertDialogActivity.this);
                builder10.setTitle("自定义对话框");
                builder10.setIcon(R.mipmap.ic_launcher);

                LayoutInflater inflater = getLayoutInflater();
                View inflate = inflater.inflate(R.layout.layout_test2,null);
                //获取控件
                final EditText et_name = (EditText) inflate.findViewById(R.id.et_name);
                final EditText et_pwd = (EditText) inflate.findViewById(R.id.et_pwd);

                //设置按钮
                builder10.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(AlertDialogActivity.this,"您的信息为姓名:"+et_name.getText().toString()+" 密码:"+et_pwd.getText().toString(),0).show();
                    }
                });
                //加载自定义布局
                builder10.setView(inflate).create().show();
            }
        });

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值