ProgressBarDemoActivity.java


package com.cjp.progressdemo;


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


public class ProgressBarDemoActivity extends Activity {

Button btnStartProgress;
ProgressDialog progressBar;
private int progressBarStatus = 0;
private Handler progressBarHandler = new Handler();

private long fileSize = 0;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

addListenerOnButton();

}

public void addListenerOnButton() {

btnStartProgress = (Button) findViewById(R.id.btnStartProgress);
btnStartProgress.setOnClickListener(
new OnClickListener() {

@Override
public void onClick(View v) {

// prepare for a progress bar dialog
progressBar = new ProgressDialog(v.getContext());
progressBar.setCancelable(true);
progressBar.setMessage("File downloading ...");
progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressBar.setProgress(0);
progressBar.setMax(100);
progressBar.show();

//reset progress bar status
progressBarStatus = 0;

//reset filesize
fileSize = 0;

new Thread(new Runnable() {
public void run() {
while (progressBarStatus < 100) {

// process some tasks
progressBarStatus = doSomeTasks();

// your computer is too fast, sleep 1 second
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}

// Update the progress bar
progressBarHandler.post(new Runnable() {
public void run() {
progressBar.setProgress(progressBarStatus);
}
});
}

// ok, file is downloaded,
if (progressBarStatus >= 100) {

// sleep 2 seconds, so that you can see the 100%
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}

// close the progress bar dialog
progressBar.dismiss();
}
}
}).start();

}

});

}

// file download simulator... a really simple
public int doSomeTasks() {

while (fileSize <= 1000000) {

fileSize++;

if (fileSize == 100000) {
return 10;
} else if (fileSize == 200000) {
return 20;
} else if (fileSize == 300000) {
return 30;
}
// ...add your own

}

return 100;

}

}


Android ProgressBar example_第1张图片


更多相关文章

  1. Android ViewPager实现图片 小圆点切换
  2. Android根据属性值自定义改变图片颜色
  3. android实现图片模糊背景效果
  4. Android 为图片添加文字水印
  5. Android 异步加载图片(扩展后)
  6. android获取图片文件头信息
  7. android 图片的自由缩放和旋转
  8. android裁剪图片
  9. android左右滑动翻页查看图片

随机推荐

  1. Android(安卓)ListView 去除边缘阴影、选
  2. android 导入、创建文件到sdcard报错:Fail
  3. 第四章 Android开发三大基石—Activity、
  4. 如何避免Android内存泄漏 .
  5. 都在说EventBus,我也来一波EventBus
  6. Android学习心得——序言
  7. Android新语言Kotlin
  8. 微软为Win10开发Android和iOS快速移植工
  9. Android(安卓)Intent:不同应用程序之间通
  10. Android自定义控件以及控件属性的自定义