Contoh ProgressBar Android

Kita dapat menampilkan kotak dialog bilah kemajuan android untuk menampilkan status pekerjaan yang dilakukan misalnya mengunduh file, menganalisis status pekerjaan dll.

Dalam contoh ini, kita menampilkan dialog kemajuan untuk operasi unduhan file dummy.

Di sini kita menggunakan kelas android.app.ProgressDialog untuk menampilkan progress bar. Android ProgressDialog adalah subkelas kelas AlertDialog.

Kelas ProgressDialog menyediakan metode untuk bekerja pada progress bar seperti setProgress(), setMessage(), setProgressStyle(), setMax(), show() dll. Rentang kemajuan Dialog kemajuan adalah 0 untuk 10000.

Mari kita lihat contoh sederhana untuk menampilkan progress bar di 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  


Contoh ProgressBar Android berdasarkan ProgressDialog

Mari kita lihat contoh sederhana untuk membuat progress bar menggunakan kelas ProgressDialog.

* Main Activity

Tarik satu tombol dari pallete, sekarang file activity_main.xml akan terlihat seperti ini:

File : 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>  


* Activity class

Mari kita menulis kode untuk menampilkan kotak dialog progress bar.

File : MainActivity.java

package example.android.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  
}  


Output :

ProgressBar Android


Berlangganan update artikel terbaru via email:

0 Response to "Contoh ProgressBar Android"

Posting Komentar

Iklan Atas Artikel

Iklan Bawah Artikel