Android游戏倒数计时器

时间:2013-08-04 09:48:16

标签: android timer countdown

我正在开发一款需要倒数计时器的游戏。

我需要能够暂停计时器,恢复倒计时并为当前的倒计时状态添加一些时间。

我查看了CountdownTimer类及其方法,但似乎它没有所需的功能。

我需要建议 - 哪种组件最适合这种情况?

如何使用它?

可能存在哪些问题?

ThreadAsyncTaskTimer

有没有人有这方面的经验?

1 个答案:

答案 0 :(得分:2)

我认为可以使用Thread,但使用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);
    }

}