(5)Dialog用法介绍

来源:互联网 发布:淘宝补单 编辑:程序博客网 时间:2024/05/22 02:27

在android开发中经常会用到对话框,以便于从用户那里获得用户的意图,已经信息等
(1)这里写图片描述
这是最简单的Dialog对话框
public void showDialog() {

        DialogInterface .OnClickListener diClickListener=new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                // TODO Auto-generated method stub                switch (which) {                case Dialog.BUTTON_POSITIVE:                    Toast.makeText(MainActivity.this, "ok clicked", Toast.LENGTH_SHORT).show();                    break;                case Dialog.BUTTON_NEGATIVE:                    Toast.makeText(MainActivity.this, "Cancel clicked", Toast.LENGTH_SHORT).show();                default:                    break;                }            }        };        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);        builder.setMessage("确定要退出吗?");        builder.setTitle("提示");        builder.setPositiveButton("确认", diClickListener);        builder.setNegativeButton("取消", diClickListener);        builder.create().show();    } 

(2)列表对话框
这里写图片描述

String[] items={"java","c++","c#"};public void Dialog3(){        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);        builder.setTitle("列表");        builder.setItems(items, new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                // TODO Auto-generated method stub            Toast.makeText(MainActivity.this,items[which], Toast.LENGTH_SHORT).show();            }        } );            builder.create().show();    }

(3)多选对话框
这里写图片描述

    public void Dialog4(){DialogInterface.OnClickListener dialogInterface=new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                // TODO Auto-generated method stub                switch (which) {                case Dialog.BUTTON_POSITIVE:                    break;                case Dialog.BUTTON_NEGATIVE:                    break;                default:                    break;                }            }        };        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);        builder.setTitle("多选框");        builder.setMultiChoiceItems(items,itemsChecked, new DialogInterface.OnMultiChoiceClickListener() {            @Override            public void onClick(DialogInterface dialog, int which, boolean isChecked) {                // TODO Auto-generated method stub                Toast.makeText(MainActivity.this, items[which]+(isChecked?"checked":"unchecked"), Toast.LENGTH_SHORT).show();            }        });        builder.setPositiveButton("确认", dialogInterface);        builder.setNegativeButton("取消", dialogInterface);        builder.create().show();            }

(5)输入对话框
这里写图片描述
这里写图片描述

public void Dialog5(){
final EditText texta=new EditText(this);
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setTitle(“请输入”);

    builder.setIcon(android.R.drawable.ic_dialog_info).setView(texta);    //final String Thing=    builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {        @Override        public void onClick(DialogInterface dialog, int which) {            // TODO Auto-generated method stub            inText.setText(texta.getText().toString());        }    });    builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {        @Override        public void onClick(DialogInterface dialog, int which) {            // TODO Auto-generated method stub        }    });    builder.create().show();}

补充两句
这里我们将输入的信息显示在界面上 这里用到了EditText和TextView

代码如下

EditText texta=new EditText(this);//声明一个EditText 对象 String Thing=texta.getText().toString()//获取EditText里面的io流 private TextView inText;//声明一个TextView对象inText.setText(Thing);

(6)进度条对话框

这里写图片描述

进度条对话框要用到
ProgressDialog类
然后我们写一个事件 让他运行5秒 然后结束

public void Dialog6(){      // ProgressDialog myDialog=new ProgressDialog(this, "进度","加载中~~",true);       final ProgressDialog MyDialog = ProgressDialog.show( this, "进度" , " Loading. Please wait ... ", true);    new Thread(new Runnable() {        @Override        public void run() {            // TODO Auto-generated method stub          try {            Thread.sleep(5000);            MyDialog.dismiss();//清除对话框        } catch (InterruptedException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        }    }).start();   }
0 0
原创粉丝点击