一、普通对话框
// 通过builder 构建器来构造AlertDialog.Builder builder = new Builder(this);builder.setTitle("警告");builder.setMessage("你好么 ");builder.setPositiveButton("好", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {System.out.println("点击了好按钮");}});builder.setNegativeButton("不好", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {System.out.println("点击了不好按钮 ");}});// 最后一步 一定要记得 和Toast 一样 show出来builder.show();
效果:
二、单选对话框
// 通过builder 构建器来构造AlertDialog.Builder builder = new Builder(this);builder.setTitle("请选择您喜欢的动物");final String items[] = { "猫", "狗", "猪", "狮子", "老虎", "大象" };// -1代表没有条目被选中builder.setSingleChoiceItems(items, -1, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// [1]把选择的条目给取出来String item = items[which];Toast.makeText(getApplicationContext(), item, 1).show();// [2]把对话框关闭dialog.dismiss();}});// 最后一步 一定要记得 和Toast 一样 show出来builder.show();
效果
三、多选对话框
// 通过builder 构建器来构造AlertDialog.Builder builder = new Builder(this);builder.setTitle("请选择您喜欢吃的动物");final String items[] = { "猫", "狗", "猪", "狮子", "老虎", "大象", "猴子" };final boolean[] checkedItems = { true, false, false, false, false,false, true };builder.setMultiChoiceItems(items, checkedItems,new OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which,boolean isChecked) {}});builder.setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 把选中的 条目的数据给我取出来StringBuffer sb = new StringBuffer();for (int i = 0; i < checkedItems.length; i++) {// 判断一下 选中的if (checkedItems[i]) {String fruit = items[i];sb.append(fruit + " ");}}Toast.makeText(getApplicationContext(), sb.toString(), 1).show();// 关闭对话框dialog.dismiss();}});// 最后一步 一定要记得 和Toast 一样 show出来builder.show();
效果
四、进度条对话框
final ProgressDialog dialog = new ProgressDialog(this);dialog.setTitle("正在玩命加载ing");// 设置一下进度条的样式dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 最后一步一定要记得show 出来dialog.show();// 创建一个子线程new Thread() {public void run() {// 设置进度条最大值dialog.setMax(100);// 设置当前进度for (int i = 0; i <= 100; i++) {dialog.setProgress(i);// 睡眠一会SystemClock.sleep(50);}// 关闭对话框dialog.dismiss();};}.start();
效果
项目源码:/my