Android中的各類Dialog

   下面是本身總結的Android經常使用的幾種Dialog:php

1.AlertDialog android中功能最豐富,用途最廣的對話框。java

// 1 建立一個Builder  
	AlertDialog.Builder builder = new AlertDialog.Builder(this);
	// 2 給Builder設置屬性
	builder.setTitle("Java培訓");// 設置Dialog的標題
		builder.setMessage("訪問OSC的網頁");// 設置Dialog的信息
		builder.setPositiveButton("肯定", new DialogInterface.OnClickListener() {// 設置肯定按鈕

					@Override
					public void onClick(DialogInterface dialog, int which) {
						Toast.makeText(getApplicationContext(), "訪問OSC的網頁", 0).show();
					}
				});
		builder.setNeutralButton("隱藏", new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
			}
		});
		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
			}
		});
	//從上咱們能夠看出Dialog的按鈕通常分爲了三種,肯定builder.setPositiveButton(),隱藏builder.setNeutralButton,取消builder.setNegativeButton
	// 3 建立Dialog
		AlertDialog dialog = builder.create();
		
	// 4 顯示Dialog	
	dialog.show();

2.ListDialog,設置選項的時候用以下代碼:android

final String[] items = { "java", "donet", "php" };
builder.setItems(items, new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(getApplicationContext(), items[which], 0).show();
			}
		});

3.singleItemDialog,這樣子可以讓選項以單選框的樣式呈現出來:ide

builder.setSingleChoiceItems(items, 2, new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(getApplicationContext(), items[which], 0).show();
			}
		});

4.多選框的Dialog

final String[] items = { "java", "donet", "php" };
		final boolean[] checkedItems = new boolean[] { true, false, false };
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		builder.setTitle("選擇語言");
		builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which, boolean isChecked) {
				Toast.makeText(getApplicationContext(), items[which] + isChecked, 0).show();
			}
		});

5.進度條的dialog

ProgressDialog progressDialog = new ProgressDialog(this);
		progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 設置爲水平進度條
		progressDialog.setTitle("正在下載。。。");
		progressDialog.setMax(100);// 設置進度條的最大值
		progressDialog.setCancelable(false);// 設置回退鍵失效

		progressDialog.setButton("取消", new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
			}
		});
		progressDialog.show();
		progressDialog.setProgress(50);// 設置進度條的當前刻度

注意的是Dialog是activity的一個控件,彈出Dialog的時候,activity是不會失去焦點的,也就是說activity不會調用onPause()方法
相關文章
相關標籤/搜索