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

 

posted @ 2014-12-19 01:19  每天学习一点点...  阅读(396)  评论(0编辑  收藏  举报