首页 > 代码库 > Dialog 基本使用

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();            }});

 

Dialog 基本使用