http://blog.youkuaiyun.com/chenzheng_java/article/details/6235210
最终效果图,
当设置progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER)时,效果如下
当设置progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);时,效果如下
activity代码示例(以第二个图片的代码为例)
- package cn.com.chenzheng_java;
- import android.app.Activity;
- import android.app.ProgressDialog;
- import android.content.DialogInterface;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.Toast;
- /**
- * @description progressDialog的测试用例
- * @author chenzheng_java
- *
- */
- public class ProgressDialogActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.progressdialog);
- Button button = (Button) findViewById(R.id.button_progress);
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- startDisplay();
- }
- });
- }
- private ProgressDialog progressDialog;
- /**
- * 展示效果
- */
- private void startDisplay() {
- progressDialog = new ProgressDialog(this);
- progressDialog.setTitle("标题");
- progressDialog.setIcon(R.drawable.excel);
- progressDialog.setIndeterminate(false);// false代表根据程序进度确切的显示进度
- progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 设置进度条的形
- /*设置进度条的图片,这个设置对setProgressStyle(ProgressDialog.STYLE_HORIZONTAL)才有效,在该应用中看不出有效!*/
- progressDialog.setProgressDrawable(getResources().getDrawable(
- R.drawable.icon));
- progressDialog.setMessage("message的内容");
- progressDialog.setButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(ProgressDialogActivity.this, "您取消了操作",
- Toast.LENGTH_LONG).show();
- progressDialog.dismiss();
- }
- });
- progressDialog.show();
- new Thread(){
- public void run() {
- try {
- sleep(3000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- finally{
- // progressDialog.dismiss();
- }
- };
- }.start();
- }
- }
progressDialog的应用其实很简单,这里就不多说了。
需要注意的是ProgressDialog实际上是从AlterDialog中继承而来的。所以说,两者的用法在某种程度上很相似。