天天看點

基于Android倒計時器,一款基于Handler的Android定時器與倒計時器

基于Handler的Android定時器與倒計時器

源碼位址:Github AndroidTimer

特性

支援操作 :start

pause

resume

cancel

使用allprojects {

repositories {

...

maven { url 'https://jitpack.io' }

}

}

dependencies {

...

compile 'com.github.xesam:AndroidTimer:v0.1'}

TODO

add ticker sequence

使用CountTimer

new CountTimer(100) {        @Override

public void onTick(long millisFly) { // millisFly is the Elapsed time at *Running State*

vCountSwitcher.setText((millisFly) + "");

Log.d("onTick", millisFly + "");

}

};CountDownTimer

new CountDownTimer(10_000, 100) {        @Override

public void onTick(long millisUntilFinished) { // millisUntilFinished is the left time at *Running State*

Log.d("onTick", millisFly + "");

}        @Override

public void onCancel(long millisUntilFinished) {

}        @Override

public void onPause(long millisUntilFinished) {

}        @Override

public void onResume(long millisUntilFinished) {

}        @Override

public void onFinish() {

}

};

使用一個 Handler 同時管理多個定時任務

建立多個任務:MultiCountTimer multiCountTimer = new MultiCountTimer(100);

multiCountTimer.add(new CounterTimerTask(1) {            @Override

public void onTick(long millisFly) {

vMulti1.setText("multi_1:" + millisFly);

}

}).registerTask(new CounterTimerTask(2, 100) {            @Override

public void onTick(long millisFly) {

vMulti2.setText("multi_2:" + millisFly);

}

}).registerTask(new CounterTimerTask(3, 1000) {            @Override

public void onTick(long millisFly) {

vMulti3.setText("multi_3:" + millisFly);

}

});

multiCountTimer.startAll();

取消任務:multiCountTimer.cancel(2);

或者

multiCountTimer.cancelAll();

截圖

基于Android倒計時器,一款基于Handler的Android定時器與倒計時器

打開App,閱讀手記