3
我正在製作一款需要倒數計時器的遊戲。Android遊戲倒數計時器
我需要能夠暫停計時器,恢復倒計時,並添加一些時間到當前的倒計時狀態。
我看過CountdownTimer
類和它的方法,但它似乎沒有所需的功能。
我需要建議 - 哪種組件最適合這種情況?
如何使用它?
有什麼可能的問題?
Thread
? AsyncTask
? Timer
?
有沒有人有這方面的經驗?
我正在製作一款需要倒數計時器的遊戲。Android遊戲倒數計時器
我需要能夠暫停計時器,恢復倒計時,並添加一些時間到當前的倒計時狀態。
我看過CountdownTimer
類和它的方法,但它似乎沒有所需的功能。
我需要建議 - 哪種組件最適合這種情況?
如何使用它?
有什麼可能的問題?
Thread
? AsyncTask
? Timer
?
有沒有人有這方面的經驗?
我覺得線程可以使用,但其更容易實現使用CountdownTimer包裝類的功能:
static class MyCountdownTimer {
long mCurrentMilisLeft;
long mInterval;
CountdownTimerWrapper mCountdownTimer;
class CountdownTimerWrapper extends CountDownTimer{
public CountdownTimerWrapper(long millisInFuture,long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
}
@Override
public void onTick(long millisUntilFinished) {
mCurrentMilisLeft = millisUntilFinished;
}
}
public MyCountdownTimer(long millisInFuture, long countDownInterval) {
set(millisInFuture,countDownInterval);
}
public void pause(){
mCountdownTimer.cancel();
}
public void resume(){
mCountdownTimer = new CountdownTimerWrapper(mCurrentMilisLeft, mInterval);
mCountdownTimer.start();
}
public void start(){
mCountdownTimer.start();
}
public void set(long millisInFuture, long countDownInterval){
mInterval = countDownInterval;
mCurrentMilisLeft = millisInFuture;
mCountdownTimer = new CountdownTimerWrapper(millisInFuture, countDownInterval);
}
}