android progressbar的例子

本文概述

  • ProgressDialog的Android进度栏示例
android progressbar的例子

文章图片
【android progressbar的例子】我们可以显示android进度条对话框,以显示正在完成的工作的状态,例如下载文件,分析工作状态等。
在此示例中,我们将显示虚拟文件下载操作的进度对话框。
在这里,我们使用android.app.ProgressDialog类显示进度条。 Android ProgressDialog是AlertDialog类的子类。
ProgressDialog类提供了在进度条上工作的方法,例如setProgress(),setMessage(),setProgressStyle(),setMax(),show()等。ProgressDialog的进度范围是0到10000。
让我们看一个简单的示例,在android中显示进度条。
ProgressDialog progressBar = new ProgressDialog(this); progressBar.setCancelable(true); //you can cancel it by pressing back button progressBar.setMessage("File downloading ..."); progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); progressBar.setProgress(0); //initially progress is 0 progressBar.setMax(100); //sets the maximum value 100 progressBar.show(); //displays the progress bar

ProgressDialog的Android进度栏示例让我们看一个使用ProgressDialog类创建进度条的简单示例。
activity_main.xml从面板上拖动一个按钮,现在activity_main.xml文件将如下所示:
< RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" >< Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="116dp" android:text="download file" />< /RelativeLayout>

活动类让我们编写代码以显示进度栏对话框。
package example.srcmini.com.progressbar; import android.app.ProgressDialog; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { Button btnStartProgress; ProgressDialog progressBar; private int progressBarStatus = 0; private Handler progressBarHandler = new Handler(); private long fileSize = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); addListenerOnButtonClick(); } public void addListenerOnButtonClick() { btnStartProgress = findViewById(R.id.button); btnStartProgress.setOnClickListener(new View.OnClickListener(){@Override public void onClick(View v) { // creating 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 and filesize status progressBarStatus = 0; fileSize = 0; new Thread(new Runnable() { public void run() { while (progressBarStatus < 100) { // performing operation progressBarStatus = doOperation(); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } // Updating the progress bar progressBarHandler.post(new Runnable() { public void run() { progressBar.setProgress(progressBarStatus); } }); } // performing operation if file is downloaded, if (progressBarStatus >= 100) { // sleeping for 1 second after operation completed try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } // close the progress bar dialog progressBar.dismiss(); } } }).start(); }//end of onClick method }); } // checking how much file is downloaded and updating the filesize public int doOperation() { //The range of ProgressDialog starts from 0 to 10000 while (fileSize < = 10000) { fileSize++; if (fileSize == 1000) { return 10; } else if (fileSize == 2000) { return 20; } else if (fileSize == 3000) { return 30; } else if (fileSize == 4000) { return 40; // you can add more else if } /* else { return 100; }*/ }//end of while return 100; }//end of doOperation }

输出:
android progressbar的例子

文章图片
android progressbar的例子

文章图片

    推荐阅读