1,ProgressBar默认为圆形,所以要在布局中设置为水平
style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"
2,开启一个异步加载进度条
class MyTask extends AsyncTask<String, Integer, Integer> {
@Override
protected Integer doInBackground(String... params) {
for (int i = 0; i < 20; i++) {
//设置ProgressBar分10次加载完成
three_progressBar.incrementProgressBy(10);
onCancelled(three_progressBar.getProgress());
if (three_progressBar.getProgress() >= three_progressBar.getMax()) {
return three_progressBar.getProgress();
}
try {
//设置休眠的时间
new Thread().sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
three_progressBar.setProgress(values[0]);
}
@Override
protected void onPostExecute(Integer integer) {
super.onPostExecute(integer);
if (integer >= three_progressBar.getMax()) {
//当进度条加载完成时让进度条隐藏,其他控件显示出来,也可以跳转到其他页面
three_progressBar.setVisibility(View.GONE);
fly.setVisibility(View.VISIBLE);
}
}
}
3,最后在onCreate方法中调用此异步
MyTask myTask = new MyTask();
myTask.execute("");