android的Progressbar怎么用

2025-11-21 23:33:08

1、在android中,Progressbar可以用来提醒用户某个任务的进度。下面我们来模拟一个下载进度来看一下。

2、首先我们创建一个按钮来启动一个带有progressbar的提醒。

android的Progressbar怎么用

3、编写代码为按钮添加一个点击事件。

android的Progressbar怎么用

4、运行效果。

android的Progressbar怎么用

android的Progressbar怎么用

5、修改progressbar的风格。

android的Progressbar怎么用

android的Progressbar怎么用

6、完整的代码。

 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_SPINNER);

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;

}


声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢