安卓进度条自动增加从1到100完整代码

package com.jevons.progressbar;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ProgressBar;
public class ProgressBar2Activity extends Activity {
	private int[] date = new int[100];
	private int hasDate = 0;
	//记录ProgressBar的完成进度
	private int status = 0;
	private ProgressBar bar;

	//创建一个负责更新进度的Handler
	private Handler mHandler =  new Handler(){
		@Override
		public void handleMessage(Message msg) {
			//表明消息是由该程序发送的
			if(msg.what==0x111){
				bar.setProgress(status);
			}
		}
	};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_progress_bar2);

		bar = (ProgressBar) findViewById(R.id.bar1);

		//启动线程来执行任务
		new Thread(){
			@Override
			public void run() {
				super.run();
				while(status<100){
					//获取耗时操作的完成百分比
					status = doWork();
					//发送消息
					mHandler.sendEmptyMessage(0x111);
				}
			}
		}.start();

	}

    //做任何事都可,只是演示,按需实现,如果只是展现,不需要该方法也可
	private int doWork(){
		//为数组元素赋值
		date[hasDate++] = (int)Math.random()*100;
		try {
			Thread.sleep(100);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		return hasDate;
	}
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐