2015年2月13日 星期五

[Android] 倒數計時器

倒數計時可以分為兩種

1.可重複的

2.不可重複的

第一種當然就是使用Thread囉!

不斷用while()讓他重複

第二種比較簡單一點:

我們使用到CountDownTimer()這個類別

http://developer.android.com/reference/android/os/CountDownTimer.html

官網的解釋:

Public Methods


public final synchronized void cancel ()

Added in API level 1
Cancel the countdown.

public abstract void onFinish ()

Added in API level 1
Callback fired when the time is up.

public abstract void onTick (long millisUntilFinished)

Added in API level 1
Callback fired on regular interval.
Parameters
millisUntilFinishedThe amount of time until finished.

public final synchronized CountDownTimer start ()

Added in API level 1
Start the countdown.
除了start(),cancel以外

就是onFinish() ->倒數結束以後要幹嘛?

onTick()->每次減少固定單位時間時要做甚麼?

 new CountDownTimer(30000, 1000) {

     public void onTick(long millisUntilFinished) {
         mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
     }

     public void onFinish() {
         mTextField.setText("done!");
     }
  }.start();

官方網站也很貼心的提供程式碼

當然是要建立一個TextView 叫做mTextField (記得要findViewById)

然後他就會在上面顯示倒數多少秒這樣~

CounDownTimer(總共倒數多少秒 , 每次扣多少)

每1000為一秒, 所以30000 = 30 秒 , 1000 = 1秒

範例為倒數30秒,每次扣一秒.

十分容易吧! End



沒有留言:

張貼留言