Dialog的十种类型汇总

第一种 普通对话框
 
  1. AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
  2.                         builder.setTitle("普通对话框");//标题
  3.                         builder.setMessage("这是一个普通的对话框");//信息
  4.                         builder.setIcon(R.drawable.ic_launcher);//图标
  5.                         builder.create();//创建
  6.                         builder.show();//显示                        
复制代码
第二种 确定取消对话框
 
  1. AlertDialog.Builder builder2=new AlertDialog.Builder(MainActivity.this);
  2.                         builder2.setTitle("确定取消对话框");
  3.                         builder2.setMessage("请选择确定或取消");
  4.                         builder2.setIcon(R.drawable.ic_launcher);
  5.                         builder2.setPositiveButton("确定", new OnClickListener() {
  6.                                 //正能量按钮 Positive
  7.                                 @Override
  8.                                 public void onClick(DialogInterface dialog, int which) {
  9.                                         //这里写点击按钮后的逻辑代码
  10.                                         Toast.makeText(MainActivity.this, "你点击了确定", 0).show();
  11.                                 }
  12.                         });
  13.                         builder2.setNegativeButton("取消", new OnClickListener() {
  14.                                 //负能量按钮 NegativeButton
  15.                                 @Override
  16.                                 public void onClick(DialogInterface dialog, int which) {
  17.                                         Toast.makeText(MainActivity.this,"你选择了取消",0).show();
  18.                                 }
  19.                         });
  20.                         builder2.create().show();
复制代码
第三种 多按钮对话框
 
  1. AlertDialog.Builder builder3=new AlertDialog.Builder(MainActivity.this);
  2.                         builder3.setTitle("多个按钮对话框");
  3.                         builder3.setMessage("请选择");
  4.                         builder3.setIcon(R.drawable.ic_launcher);
  5.                         builder3.setPositiveButton("继续浏览", new OnClickListener() {
  6.                                 
  7.                                 @Override
  8.                                 public void onClick(DialogInterface dialog, int which) {
  9.                                         Toast.makeText(MainActivity.this,"继续浏览精彩内容",0).show();
  10.                                 }
  11.                         });
  12.                         builder3.setNeutralButton("暂停休息", new OnClickListener() {
  13.                                 
  14.                                 @Override
  15.                                 public void onClick(DialogInterface dialog, int which) {
  16.                                         Toast.makeText(MainActivity.this,"起来活动活动吧", 0).show();
  17.                                 }
  18.                         });
  19.                         builder3.setNegativeButton("离开页面", new OnClickListener() {
  20.                                 
  21.                                 @Override
  22.                                 public void onClick(DialogInterface dialog, int which) {
  23.                                         Toast.makeText(MainActivity.this,"欢迎下次使用", 0).show();
  24.                                 }
  25.                         });
  26.                         builder3.create().show();
复制代码
第四种 列表对话框
 
先在string.xml
中添加以下代码
  1. <string-array
  2.         name="oem">
  3.         <item >小米</item>
  4.         <item >荣耀</item>
  5.         <item >魅族</item>
  6.         <item >乐视</item>
  7.         <item >奇酷</item>
  8.         <item >锤子</item>
  9.     </string-array>
复制代码
然后添加逻辑代码
  1. final String arrItem[]=getResources().getStringArray(R.array.oem);
  2.                         builder4.setItems(arrItem, new OnClickListener() {
  3.                                 
  4.                                 @Override
  5.                                 public void onClick(DialogInterface dialog, int which) {
  6.                                         Toast.makeText(MainActivity.this,"你选择了第"+arrItem[which],0).show();
  7.                                 }
  8.                         });
  9.                         builder4.create().show();
复制代码
第五种 带Adapter的对话框
 
  1. AlertDialog.Builder builder5=new AlertDialog.Builder(MainActivity.this);
  2.                         builder5.setTitle("带Adapter的对话框");
  3.                         builder5.setIcon(R.drawable.ic_launcher);
  4.                         //获取数据源
  5.                         //创建一个List对象并实例化
  6.                         final List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();
  7.                         //图片
  8.                         int arrImgID[]={R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,
  9.                                         R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};
  10.                         for (int i = 0; i < arrImgID.length; i++) {
  11.                                 Map<String,Object> map=new HashMap<String,Object>();
  12.                                 map.put("img", arrImgID[i]);
  13.                                 map.put("title", "title"+i);
  14.                                 list.add(map);
  15.                         }
  16.                         //创建Adapter对象并实例化
  17.                         SimpleAdapter adapter=new SimpleAdapter(
  18.                                         MainActivity.this, 
  19.                                         list, 
  20.                                         R.layout.layout_test1, 
  21.                                         new String[]{"img","title"}, 
  22.                                         new int[]{R.id.iv,R.id.tv});
  23.                         //将数据填充到Adapter
  24.                         builder5.setAdapter(adapter, new OnClickListener() {
  25.                                 
  26.                                 @Override
  27.                                 public void onClick(DialogInterface dialog, int which) {
  28.                                         Toast.makeText(MainActivity.this, "你选择了"+list.get(which).get("title").toString().trim(), 0).show();
  29.                                 }
  30.                         });
  31.                         builder5.create().show();
复制代码
第六种 单选对话框
 
  1. AlertDialog.Builder builder6=new AlertDialog.Builder(MainActivity.this);
  2.                         builder6.setTitle("单选对话框");
  3.                         builder6.setIcon(R.drawable.ic_launcher);
  4.                         //参数1  item数据源       参数2   默认选中的item  参数3 item点击监听
  5.                         builder6.setSingleChoiceItems(R.array.oem, 0, new OnClickListener() {
  6.                                 
  7.                                 @Override
  8.                                 public void onClick(DialogInterface dialog, int which) {
  9.                                         Toast.makeText(MainActivity.this, which+"", 0).show();
  10.                                 }
  11.                         });
  12.                         //设置按钮
  13.                         builder6.setPositiveButton("确定", new OnClickListener() {
  14.                                 
  15.                                 @Override
  16.                                 public void onClick(DialogInterface dialog, int which) {
  17.                                         
  18.                                 }
  19.                         });
  20.                         builder6.create().show();
复制代码
第七种 多选对话框
 
  1. AlertDialog.Builder builder7=new AlertDialog.Builder(MainActivity.this);
  2.                         builder7.setTitle("多选对话框");
  3.                         builder7.setIcon(R.drawable.ic_launcher);
  4.                         builder7.setMultiChoiceItems(R.array.oem, null, new OnMultiChoiceClickListener() {
  5.                                 
  6.                                 @Override
  7.                                 public void onClick(DialogInterface dialog, int which, boolean isChecked) {
  8.                                         Toast.makeText(MainActivity.this, which+""+isChecked, 0).show();
  9.                                 }
  10.                         });
  11.                         builder7.create().show();
复制代码
第八种 日期对话框
 
  1. //创建DatePickerDialog对象并实例化
  2.                         //国内外日期计算不同    注意此处输出月份需+1   默认设置月份需-1
  3.                         DatePickerDialog datePickerDialog=new DatePickerDialog(MainActivity.this, 
  4.                                         new OnDateSetListener() {
  5.                                                 
  6.                                                 @Override
  7.                                                 public void onDateSet(DatePicker view, int year, int monthOfYear,
  8.                                                                 int dayOfMonth) {
  9.                                                         Toast.makeText(MainActivity.this,
  10.                                                                         year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日", 0).show();
  11.                                                 }
  12.                                         }, 
  13.                                         2015, 8, 21);
  14.                         //Date和Time只用show()  不用create()
  15.                         datePickerDialog.show();
复制代码
第九种 时间对话框
 
  1. TimePickerDialog timePickerDialog=new TimePickerDialog(MainActivity.this, 
  2.                                         new OnTimeSetListener() {
  3.                                                 
  4.                                                 @Override
  5.                                                 public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
  6.                                                         Toast.makeText(MainActivity.this,
  7.                                                                         hourOfDay+"点"+minute+"分", 0).show();
  8.                                                 }
  9.                                         }, 
  10.                                         17, 49, true);
  11.                         timePickerDialog.show();
复制代码
第十种 自定义对话框

  1. AlertDialog.Builder builder10=new AlertDialog.Builder(MainActivity.this);
  2.                         builder10.setTitle("自定义对话框");
  3.                         builder10.setIcon(R.drawable.ic_launcher);
  4.                         //获取自定义对话框View
  5.                         View view=LayoutInflater.from(MainActivity.this).inflate(R.layout.layout_test2, null);
  6.                         //获取控件
  7.                         final EditText et_name=(EditText)view.findViewById(R.id.et_name);
  8.                         final EditText et_pwd=(EditText)view.findViewById(R.id.et_pwd);
  9.                         //设置按钮
  10.                         builder10.setPositiveButton("确定", new OnClickListener() {
  11.                                 
  12.                                 @Override
  13.                                 public void onClick(DialogInterface dialog, int which) {
  14.                                         Toast.makeText(MainActivity.this, "您的信息为 姓名:"+et_name.getText().toString()+" 密码:"+et_pwd.getText().toString(), 0).show();
  15.                                 }
  16.                         });
  17.                         //加载自定义布局
  18.                         builder10.setView(view).create().show();
复制代码









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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值