Android-------對話框中進度條(ProgressDialog)

不多說了,直接上示例:運行效果如圖:

progressDialog.java

 

package com.myprogressDialog;

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 progressDialog extends Activity {
    Button bt1,bt2;
    ProgressDialog mDialog;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        bt1=(Button) findViewById(R.id.button1);
        bt2=(Button) findViewById(R.id.button2);
        bt1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				
				mDialog=new ProgressDialog(progressDialog.this);//創建ProgressDialog對象
				mDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//設置進度條風格,長形
				mDialog.setTitle("提示...");//設置標題
				mDialog.setMessage("這是一個長形進度條對話框!");//設置提示信息
				mDialog.setIcon(R.drawable.tishi);//設置圖標
				mDialog.setIndeterminate(false);//設置進度條是否不明確
				mDialog.setCancelable(true);//設置是否可以按回退按鈕取消
				mDialog.setProgress(0);//設置當前值
				mDialog.setMax(100);//設置最大值
				mDialog.show();//讓其顯示
				new Thread(new Runnable() {
					int m=0;
					@Override
					public void run() {
						// TODO Auto-generated method stub
						try {//讓線程控制進度條
							while (m<=mDialog.getMax()) {
								mDialog.setProgress(m++);
								Thread.sleep(100);
								
							}
							mDialog.cancel();
						} catch (Exception e) {
							mDialog.cancel();
						}
					}
				}).start();
				
			}
		});
        bt2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				mDialog=new ProgressDialog(progressDialog.this);
				mDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
				mDialog.setTitle("提示...");
				mDialog.setMessage("這是一個圓形進度條對話框!");
				mDialog.setIcon(R.drawable.tishi);
				mDialog.setIndeterminate(false);
				mDialog.setCancelable(true);
				mDialog.setButton("取消", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						dialog.cancel();
					}
				});
				mDialog.show();
			}
		});
    }
}


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章