Android ProgressDialog的两种用法

ProgressDialog,顾名思义,就是一个进度对话框,常用于显示载入进度、下载进度等。合理使用ProgressDialog能增加用户体验,让用户知道现在程序所处的状态。
下面是两种用法,第一种适合复杂环境,可以自定义风格,添加按钮等,而第二种只能简单的显示一个只有标题和信息的ProgressDialog


package com.pocketdigi.ProgressDialog;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Main extends Activity {
	/** Called when the activity is first created. */
	ProgressDialog pd1, pd2;
	Button b1, b2;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		b1 = (Button) findViewById(R.id.b1);
		b2 = (Button) findViewById(R.id.b2);
		b1.setOnClickListener(showPd1);
		b2.setOnClickListener(showPd2);
	}
	OnClickListener showPd1 = new OnClickListener() {

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			pd1 = new ProgressDialog(Main.this);
			pd1.setTitle("PD1标题");
			pd1.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 转圈风格
			// 进度条风格为ProgressDialog.STYLE_HORIZONTAL,使用setMax,setProgress,incrementProgressBy方法设置进度
			pd1.setMessage("PD1信息");
			pd1.setButton("关闭", new DialogInterface.OnClickListener() {

				@Override
				public void onClick(DialogInterface dialog, int which) {
					// TODO Auto-generated method stub
					pd1.dismiss();
				}
			
			});
			//可以使用setButton2,setButton3来添加更多按钮
			pd1.setCancelable(false);//不可被返回键取消对话框
			pd1.show();
		}

	};
	OnClickListener showPd2 = new OnClickListener() {

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			pd2=ProgressDialog.show(Main.this,"PD2标题","PD2信息");
			//使用该方法将不能再设置按钮,适合显示简单的ProgressDialog
		}

	};

}

© 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记