一区二区日本_久久久久久久国产精品_无码国模国产在线观看_久久99深爱久久99精品_亚洲一区二区三区四区五区午夜_日本在线观看一区二区

Android ProgressBar示例含代碼

Android ProgressBar示例

我們可以顯示 Android進度條 對話框來顯示正在進行的工作的狀態(tài),例如下載文件,分析工作狀態(tài)等。愛掏網(wǎng) - it200.com

在這個例子中,我們?yōu)樘摂M文件下載操作顯示進度對話框。愛掏網(wǎng) - it200.com

在這里,我們使用 android.app.ProgressDialog 類來顯示進度條。愛掏網(wǎng) - it200.comAndroid ProgressDialog是AlertDialog類的子類。愛掏網(wǎng) - it200.com

ProgressDialog 類提供了一些方法來處理進度條,如setProgress(),setMessage(),setProgressStyle(),setMax(),show()等。愛掏網(wǎng) - it200.com進度對話框的進度范圍是0到10000。愛掏網(wǎng) - it200.com

讓我們看一個簡單的例子,在Android中顯示進度條。愛掏網(wǎng) - it200.com

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類創(chuàng)建進度條的簡單示例。愛掏網(wǎng) - it200.com

activity_main.xml

從工具箱中拖動一個按鈕,現(xiàn)在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類

讓我們編寫代碼來顯示進度條對話框。愛掏網(wǎng) - it200.com

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

輸出:

聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。
發(fā)表評論
更多 網(wǎng)友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 一区二区国产精品 | 国产黄色在线观看 | 久久亚洲欧美日韩精品专区 | 91在线精品一区二区 | 日韩视频在线免费观看 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 亚洲国产精品成人无久久精品 | 中文字幕 欧美 日韩 | 国产亚洲一级 | 日韩在线视频一区 | 精品亚洲一区二区三区 | 日本 欧美 三级 高清 视频 | 精品一区二区三区在线播放 | 中文字幕视频免费 | 成人精品国产一区二区4080 | 欧美精品一区二区免费 | 精品国产91乱码一区二区三区 | 精品亚洲一区二区三区四区五区 | 精品国产三级 | 久日精品 | 一级黄色av电影 | 亚洲国产一区二区三区在线观看 | 81精品国产乱码久久久久久 | 国产精品一区二区三区在线 | 国产综合精品一区二区三区 | 色综合国产 | 色婷婷av一区二区三区软件 | 亚洲精品久久久久久久久久久久久 | 欧美精品久久久久久久久久 | 国产传媒在线观看 | 亚洲自拍偷拍欧美 | 午夜影院在线播放 | 精品久久久久久久久久久久久久 | 日韩第一区 | 99精品视频免费观看 | 综合色婷婷| 成人在线观看免费视频 | 亚洲永久入口 | 国产区精品在线观看 | 国产视频日韩 | 人人玩人人干 |