Android的几种alert对话框

  1 @Override
  2     public void onClick(View v) {
  3 
  4         
  5         switch (v.getId()) {
  6         case R.id.d1:
  7             
  8             AlertDialog.Builder builder=new AlertDialog.Builder(this);
  9             builder.setTitle("这是标题...");
 10             builder.setMessage("这就是一个确认取消对话框...");
 11             builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
 12                 
 13                 @Override
 14                 public void onClick(DialogInterface dialog, int which) {
 15                     Toast.makeText(MainActivity.this, "你点击了确认按钮...", 0).show();
 16                 }
 17             });
 18             builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
 19                 
 20                 @Override
 21                 public void onClick(DialogInterface dialog, int which) {
 22                     Toast.makeText(MainActivity.this, "你点击了取消按钮...", 0).show();
 23                 }
 24             });
 25             builder.show();
 26             break;
 27         case R.id.d2:
 28             AlertDialog.Builder builder1=new AlertDialog.Builder(this);
 29             builder1.setTitle("这是标题...");
 30             final String[] strings=new String[]{"小红","小明"};
 31             builder1.setSingleChoiceItems(strings, -1, new DialogInterface.OnClickListener() {
 32                 
 33                 @Override
 34                 public void onClick(DialogInterface dialog, int which) {
 35                     Toast.makeText(MainActivity.this, "你选择了:"+strings[which], 0).show();
 36                     
 37                 }
 38             });
 39             
 40             builder1.show();
 41             break;
 42         case R.id.d3:
 43             AlertDialog.Builder builder11=new AlertDialog.Builder(this);
 44             builder11.setTitle("这是标题...");
 45             final String[] strings1=new String[]{"小红","小明"};
 46             boolean[] b=new boolean[]{false,true};
 47             builder11.setMultiChoiceItems(strings1, b, new DialogInterface.OnMultiChoiceClickListener() {
 48                 
 49                 @Override
 50                 public void onClick(DialogInterface dialog, int which, boolean isChecked) {
 51                     
 52                     Toast.makeText(MainActivity.this, "你选择了:"+strings1[which]+" : "+isChecked, 0).show();
 53                 }
 54             }); 
 55             builder11.show();
 56             break;
 57             
 58             //进度对话框
 59         case R.id.d4:
 60             
 61 //            ProgressDialog pDialog=new ProgressDialog(this);
 62 //            pDialog.setTitle("这是一个进度框...");
 63 //            pDialog.setMax(100);
 64 //            pDialog.show();
 65             
 66             //这是比较简陋的方法,下面的比较全面合理
 67             final ProgressDialog proDialog = android.app.ProgressDialog.show(MainActivity.this, "测试", "2秒后自动消失!");
 68             Thread thread = new Thread()
 69             {
 70                 public void run()
 71                 {
 72                     try{
 73                         sleep(2000);
 74                     } catch (InterruptedException e) {
 75                         // TODO 自动生成的 catch 块
 76                         e.printStackTrace();
 77                     }
 78                     proDialog.dismiss();//万万不可少这句,否则会程序会卡死。
 79                 }
 80             };
 81             thread.start();
 82             break;
 83         case R.id.d5:
 84             
 85             
 86              xh_count = 0;  
 87               
 88              // 创建ProgressDialog对象  
 89              final ProgressDialog xh_pDialog = new ProgressDialog(this);  
 90 
 91              // 设置进度条风格,风格为矩形
 92              xh_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);  
 93 
 94              // 设置ProgressDialog 标题  
 95              xh_pDialog.setTitle("提示");  
 96 
 97              // 设置ProgressDialog提示信息  
 98              xh_pDialog.setMessage("这是一个长形进度条对话框");  
 99 
100              // 设置ProgressDialog标题图标  
101 //             xh_pDialog.setIcon(R.drawable.img2);  
102 
103              // 设置ProgressDialog 的进度条是否不明确 false 就是不设置为不明确  
104              xh_pDialog.setIndeterminate(false);  
105 
106              // 设置ProgressDialog 进度条进度  
107              xh_pDialog.setProgress(200);  
108              xh_pDialog.setMax(200);
109 
110             //下面两种都可以解决触摸其他地方消失的问题
111              xh_pDialog.setCancelable(false);   // 设置ProgressDialog 是否可以按退回键取消  
112 //             xh_pDialog.setCanceledOnTouchOutside(false);//这种不会阻止返回键
113              
114              
115           // 设置ProgressDialog 的一个Button  可以用来取消对话框
116              xh_pDialog.setButton("取消", new DialogInterface.OnClickListener() {
117                 
118                 @Override
119                 public void onClick(DialogInterface dialog, int which) {
120                     // 点击“确定”按钮取消对话框  
121 //                    dialog.cancel();
122                     xh_pDialog.dismiss();
123                 }
124             });
125              // 让ProgressDialog显示  
126              xh_pDialog.show();  
127 
128              new Thread() {  
129                  @Override  
130                  public void run() {  
131                      try {  
132                          while (xh_count <= 200) {  
133                              // 由线程来控制进度  
134                              xh_pDialog.setProgress(xh_count++);  
135                              Thread.sleep(100);  
136                          }  
137                          xh_pDialog.dismiss();
138                      } catch (Exception e) {  
139                          xh_pDialog.cancel();  
140                      }  
141                  }  
142              }.start();  
143 
144             
145             break;
146 
147         
148         }
149     }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值