開發平台:
Android studio(version 2.2.3)
測試平台:
Android studio模擬機(android 5)
實作內容:
為什麼要使用ProgressBar?當程式需要執行比較費時個工作,通常就會顯示一個進度列表,讓使用者了解目前工作進度。
ProgressBar的xml。
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="52dp"
android:id="@+id/progressBar"
android:layout_above="@+id/textView"
android:layout_alignParentEnd="true"
android:layout_alignParentStart="true"/>
其中只要更換style中的字,就可以更換成不同ProgressBar。
style="?android:attr/progressBarStyleLarge"(較大的ProgressBar)
style="?android:attr/progressBarStyle"(一般大小的ProgressBar)
style="?android:attr/progressBarStyleSmall"(較小的ProgressBar)
style="?android:attr/progressBarStyleHorizontal"(水平長條ProgressBar)
使用Android Studio提供的功能即可輕鬆選取需要的ProgressBar。
因為只有Horizontal ProgressBar才需設定進度條。所以就以Horizontal ProgressBar來實作。
Step1 使用Thread隨時更新進度條。
new Thread(new Runnable(){
@Override
public void run(){
//do something
}
}).start();
Step2 用setProgress()來設定進度條。p.s. 如果要像Youtube那樣的緩衝畫面,可以再另外搭配setSecondaryProgress()。
progressBar.setProgress(20);
Step3 把background Thread 處理事項post到Handler中(直接post一個Runnable物件到Handler中),讓Handler通知UI Thread去做更新。
handler.post(new Runnable(){
@Override
public void run(){
//do something
//e.g. progress.setProgessBar(20);
}
});
測試畫面:
程式碼:
文章標籤
全站熱搜
