• Dialog 基本使用


    1   :  效果图 

    btnGeneral.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    AlertDialog.Builder builder = new AlertDialog.Builder(
                            MainActivity.this);
                    builder.setTitle("提示");
                    builder.setMessage("这是一个普通的对话框!");
                    builder.setIcon(R.drawable.ic_launcher);
                    builder.setCancelable(false);  //必须采取行动
                    builder.setPositiveButton("知道了!", new OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });
                    builder.create().show();
                }
     });

    2 : 效果图

    /*而除了专门为按钮点击实现的DialogInterFace.OnClickListener事件外,DialogInterface还提供了一些其他的事件,供Dialog对象响应,这些事件只是对Dialog声明周期各个状态的响应,一看就明白了,就不再详细讲解了,下面是这几个事件的说明:
    
    interface DialogInterface.OnCancelListener:当对话框调用cancel()方法的时候触发。
    interface DialogInterface.OnDismissListener:当对话框调用dismiss()方法的时候触发。
    interface DialogInterface.OnShowListener:当对话框调用show()方法的时候触发。
    interface DialogInterface.OnMultiChoiceListener:当对话框使用多选列表,并且选中的时候触发*/
    btnButtons.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    AlertDialog.Builder builder = new AlertDialog.Builder(
                            MainActivity.this);
                    builder.setTitle("提示");
                    builder.setMessage("这是一个多按钮普通的对话框!");
                    builder.setIcon(R.drawable.ic_launcher);
                    builder.setPositiveButton("确定", new OnClickListener() {
    
                        @Override
                        public void onClick(DialogInterface dialog, int which) {                        
                            Toast.makeText(MainActivity.this, "确定被点击",
                                    Toast.LENGTH_SHORT).show();
                            dialog.dismiss();
                        }
                    });
                    builder.setNegativeButton("否定", new OnClickListener() {
    
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                            Toast.makeText(MainActivity.this, "否定被点击",
                                    Toast.LENGTH_SHORT).show();
                            dialog.dismiss();
                        }
                    });
                    builder.setNeutralButton("忽略", new OnClickListener() {
    
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                            Toast.makeText(MainActivity.this, "忽略被点击",
                                    Toast.LENGTH_SHORT).show();
                            dialog.cancel();
                        }
                    });
                    builder.show();
                }
    });

    3. 效果图

    btnListViewSingle.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    AlertDialog.Builder builder = new AlertDialog.Builder(
                            MainActivity.this);
                    builder.setTitle("请选择一下城市");
                    builder.setSingleChoiceItems(items, 1, new OnClickListener() {
    
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                            String select_item = items[which].toString();
                            Toast.makeText(MainActivity.this,
                                    "选择了--->>" + select_item, Toast.LENGTH_SHORT)
                                    .show();
                        }
                    });
                    builder.setPositiveButton("确定", new OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss();
                        }
                    });
                    builder.show();
                }
    });

    4: 效果图

    btnListViewMulti.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    AlertDialog.Builder builder = new AlertDialog.Builder(
                            MainActivity.this);
                    builder.setTitle("请选择城市");
                    builder.setMultiChoiceItems(items, new boolean[] { true, false,
                            true }, new OnMultiChoiceClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which,
                                boolean isChecked) {
                            // TODO Auto-generated method stub
                            String select_item = items[which].toString();
                            Toast.makeText(MainActivity.this,
                                    "选择了--->>" + select_item, Toast.LENGTH_SHORT)
                                    .show();
                        }
                    });
                    builder.setPositiveButton("确定", new OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss();
                        }
                    });
                    builder.show();
                }
      });

    5 :效果图  :  自定义dialog

    btnCustomDialog.setOnClickListener(new View.OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                    View view=LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog_signin,null);
                    Button btn=(Button)view.findViewById(R.id.btnCustom);
                    btn.setOnClickListener(new View.OnClickListener() {
                        
                        @Override
                        public void onClick(View v) {
                            // TODO Auto-generated method stub
                            alertDialog.dismiss();
                            Toast.makeText(MainActivity.this, "表单填写完成",
                                    Toast.LENGTH_SHORT).show();
                        }
                    });
                    builder.setView(view);   // 设置上 LayoutInflater
                    alertDialog=builder.show();                
                }
     });

    6 : 效果图 ProgressDialog 

    btnProgressDialog.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    // 第一种方法,使用ProgressDialog构造函数
                    progressDialog = new ProgressDialog(MainActivity.this);
                    progressDialog.setIcon(R.drawable.ic_launcher);
                    progressDialog.setTitle("等待");
                    progressDialog.setMessage("正在加载....");
                    progressDialog.show();
                    //第二种方法,使用静态的show方法
                    //progressDialog=ProgressDialog.show(MainActivity.this, "等待", "正在加载....", false, false);
                    new Thread(new Runnable() {
    
                        @Override
                        public void run() {
                            try {
                                Thread.sleep(5000);            
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            finally{
                                progressDialog.dismiss();
                            }                        
                        }
                    }).start();
                }
    });
  • 相关阅读:
    Alpha冲刺总结
    测试随笔
    项目Alpha冲刺Day11
    项目Alpha冲刺Day12
    项目Alpha冲刺Day10
    项目Alpha冲刺Day9
    项目Alpha冲刺Day6
    beta冲刺1
    Beta准备博客
    基于微信小程序的实验室管理的postmortem
  • 原文地址:https://www.cnblogs.com/java-g/p/4173026.html
Copyright © 2020-2023  润新知