2010年12月12日 星期日

如何在程式碼加上ProgressBar


昨天跟老師討論完之後
老師建議我們把CountDown Timer改成ProgressBar
而其餘需求就跟昨天一樣
(TextView點下會出現ProgressBar並倒數)

以下是我的步驟

[main]
新增ProgressBar並在裡面寫上

android:id="@+id/ProgressBar01"
android:layout_height="wrap_content"
android:layout_width="200px"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20sp"
style="?android:attr/progressBarStyleHorizontal"

並在其餘想要點下的TextView都加上
android:onClick="start"

[主程式]
一開始先宣告
private ProgressBar progressBar;
private int nowProgressStatus=0;
public Thread thread;

接著在OnCreate裡面加上
progressBar = (ProgressBar)findViewById(R.id.ProgressBar01);
progressBar.setVisibility(View.INVISIBLE);(預設隱藏)
final Handler handler = new Handler();
final Runnable callback1 = new Runnable(){

@Override
public void run() {
// TODO Auto-generated method stub
}
};
thread = new Thread(){
public void run(){
while (nowProgressStatus <100){
try{
Thread.sleep(6000);
}catch (InterruptedException e){
e.printStackTrace();
}
nowProgressStatus+=1;
handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
progressBar.setProgress(nowProgressStatus);
}
});
}
}
};

最後在你想要OnClick的TextView裡面加上
progressBar.setVisibility(View.VISIBLE);(點下後出現)
thread.start();

完成!!

沒有留言: