[置顶] 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();//显示
            }
        });

[置顶] Android Dialog的十种类型汇总_第1张图片
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();
            }
        });

[置顶] Android Dialog的十种类型汇总_第2张图片
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();
            }
        });

[置顶] Android Dialog的十种类型汇总_第3张图片
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();
            }
        });

[置顶] Android Dialog的十种类型汇总_第4张图片
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();
            }
        });

[置顶] Android Dialog的十种类型汇总_第5张图片
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();
            }
        });

[置顶] Android Dialog的十种类型汇总_第6张图片

你可能感兴趣的:(android)