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

Android ProgressBar示例含代碼

Android ProgressBar示例

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

在這個例子中,我們為虛擬文件下載操作顯示進度對話框。愛掏網 - it200.com

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

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

讓我們看一個簡單的例子,在Android中顯示進度條。愛掏網 - 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類創建進度條的簡單示例。愛掏網 - it200.com

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>

Activity類

讓我們編寫代碼來顯示進度條對話框。愛掏網 - 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
}

輸出:

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

返回頂部

主站蜘蛛池模板: 欧美一区二区三区在线播放 | av网站免费观看 | 三级在线免费 | 五月天天丁香婷婷在线中 | 成人国产毛片 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 久久中文字幕视频 | 久久福利 | 亚洲毛片在线观看 | 91麻豆精品一区二区三区 | 久久婷婷国产麻豆91 | 黄色毛片一级 | 日本超碰在线 | 国产一级淫片免费视频 | 日本黄色影片在线观看 | 91视频在线观看 | 欧美日韩视频在线播放 | 精彩视频一区二区三区 | 欧美精品一区二区三区在线播放 | 午夜成人在线视频 | 亚洲精品中文字幕中文字幕 | 国产欧美精品一区 | 精品亚洲一区二区三区 | 日本午夜精品 | 第一av | 日韩一区二区在线视频 | 狠狠躁夜夜躁人人爽天天高潮 | 91久久国产综合久久 | 国产激情片在线观看 | 欧美精品一区二区三区视频 | 欧美三区在线观看 | av入口| av天空| 在线看一区二区三区 | 日韩精品国产精品 | 欧美日韩综合一区 | 国产亚洲一区在线 | 亚洲欧洲精品成人久久奇米网 | 国产精品久久久久久妇女6080 | 国产在线一区二区 | 久久91精品久久久久久9鸭 |