对话框集合

选择对话框

//选择对话框
	public void click1(View view){
		//Builder是对话框的创建器
		AlertDialog.Builder builder = new Builder(this);
		builder.setTitle("我是对话框");
		builder.setMessage("对话框显示的内容");
		//确定按钮
		builder.setPositiveButton("确定", new OnClickListener() {
			@Override
			//被点击时候触发这个方法
			public void onClick(DialogInterface dialog, int which) {
				//这里不能使用this
				Toast.makeText(getApplicationContext(), "确定被点击了", 0).show();
			}
		});
		//取消按钮
		builder.setNegativeButton("取消", new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//什么都不写默认实现就是关闭掉对话框
			}
		});
		//设置对话框不能被取消掉,用户必须对其进行选择
		builder.setCancelable(false);
		//create是把对话框创建出来   show是把对话框显示出来,创建了并不一定就显示了
		builder.create().show();
	}
单选对话框

/**
	 * 单选对话框
	 * @param view
	 */
	public void click2(View view){
		//对话框的创建器
		AlertDialog.Builder builder = new Builder(this);
		builder.setTitle("请选择您的性别");
		final String[] items = {"男","女","未知"};
		//设置单选条目    第二参数是默认选择的item的位置,这里默认是未知
		builder.setSingleChoiceItems(items, 2, new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(getApplicationContext(), "您的性别:"+items[which], 0).show();
				//点击完毕后对话框关闭掉
				dialog.dismiss();
			}
		});
		builder.create().show();
	}
多选对话框

/**
	 * 多选对话框
	 * @param view
	 */
	public void click3(View view){
		//对话框的创建器
		AlertDialog.Builder builder = new Builder(this);
		builder.setTitle("请选择你最爱吃的水果");
		final String[] items={"苹果","梨","菠萝","香蕉","黄瓜"};
		final boolean[] result =new boolean[]{true,false,true,false,false};
		builder.setMultiChoiceItems(items, result, new OnMultiChoiceClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which, boolean isChecked) {
				Toast.makeText(getApplicationContext(), items[which]+isChecked, 0).show();
				//通过数组来记录是否被选中
				result[which] = isChecked;
			}
		});
		builder.setPositiveButton("提交", new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				StringBuffer sb = new StringBuffer();
				for(int i=0;i<result.length;i++){
					if(result[i]){
						sb.append(items[i]+",");
					}
				}
				Toast.makeText(getApplicationContext(), "您选中了,"+sb.toString(), 0).show();
			}
		});
		//这两个代码是等价的,show的话代码里面会自动create出来
		//builder.create().show();
		builder.show();
	}
进度条对话框

//进度条对话框
	public void click4(View view){
		ProgressDialog pd = new ProgressDialog(this);
		pd.setTitle("提醒");
		pd.setMessage("正在加载数据...请稍等。");
		pd.show();
	}
带进度条的对话框

//带进度的进度条对话框
	public void click5(View view){
		final ProgressDialog pd = new ProgressDialog(this);
		pd.setTitle("提醒");
		//STYLE_HORIZONTAL  设置成水平方向的进度条模样
		pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
		pd.setMax(100);
		pd.setMessage("正在加载数据...请稍等。");
		pd.show();
		new Thread(){
			public void run() {
				for(int i = 0;i<100;i++){
					try {
						Thread.sleep(40);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					pd.setProgress(i);
				}
				//同样可以通过api把进度条对话框去掉
				//这个方法是设定在任何线程都可以对其进行关闭,所以现在在子线程也是可以关掉的
				pd.dismiss();
			};
		}.start();
	}



你可能感兴趣的:(对话框集合)