[置顶] Android Dialog的十种类型汇总
16lz
2021-01-23
- 普通对话框
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(); } });
更多相关文章
- Android 按钮 弹出对话框
- Android - 对话框(Dialog)和通知(Notification)2
- Android中对话框的使用
- Android对话框的几种形式
- android 弹出带按钮的对话框
- android创立输入对话框