close

Android progress進度顯示

一直都是APP開發很常用的手法

因此在這裡分享progressBar的基本寫法

progress進度顯示最基本用法2.png
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.widget.TextView;

public class ProgressBarEx extends AppCompatActivity {
ProgressBar progressBar;
    TextView tvPercent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_progressbar);
        progressBar=(ProgressBar)findViewById(R.id.progressBar);
        tvPercent=(TextView)findViewById(R.id.percent);
        //progressBar.setProgress(80);此可以設定一開始的進度
        new MyAsyncTask().execute();///這裡用execute()代替start

    }

    private class MyAsyncTask extends AsyncTask<String,Integer,String> {


        @Override//////此為進度執行緒
        protected String doInBackground(String... strings) {
            for (int i=0;i<=100;i++){

                try {
                    Thread.sleep(100);
                    publishProgress(i);///此為要發佈出去的i值
                    //tvPercent.setText(i+"%");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

            }


            return null;
        }
        @Override///////用來更新progress進度,此為背景執行緒
        protected void onProgressUpdate(Integer... values) {
            super.onProgressUpdate(values);
            tvPercent.setText(values[0]+"%");////加這一行才能讓進度數字跑動
            progressBar.setProgress(values[0]);////加這一行才能讓進度跟著數字跑動
        }
    }
}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 緩緩成地仙 的頭像
    緩緩成地仙

    淑世聯盟

    緩緩成地仙 發表在 痞客邦 留言(0) 人氣()