Android Dialog的十种类型汇总

来源:互联网 发布:数据接口开发 编辑:程序博客网 时间:2024/04/30 10:30
  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 0