android中倒计时动画,Android实现倒计时效果

本文实例为大家分享了Android实现倒计时效果的具体代码,供大家参考,具体内容如下

一个倒计时的效果

先看效果图:

android中倒计时动画,Android实现倒计时效果_第1张图片

直接上代码:

这里是关于倒计时 …天时分秒…的逻辑判断

/**

* 倒计时计算

*/

private void computeTime() {

mSecond--;

if (mSecond < 0) {

mMin--;

mSecond = 59;

if (mMin < 0) {

mMin = 59;

mHour--;

if (mHour < 0) {

// 倒计时结束

mHour = 23;

mDay--;

if(mDay < 0){

// 倒计时结束

mDay = 0;

mHour= 0;

mMin = 0;

mSecond = 0;

}

}

}

}

}

定时器主要代码如下…当然也可以开线程或者开后台服务来处理…只是没那种必要…定时器就可以搞定容易控制…毕竟倒计时时间起点…你总得后台获取吧,不是做时钟闹钟…如果是做时钟闹钟…拿你也不用考虑后台服务或者自己开线程…而是使用AlarmManager来实现

/**

* 开启倒计时

* //time为Date类型:在指定时间执行一次。

* timer.schedule(task, time);

* //firstTime为Date类型,period为long,表示从firstTime时刻开始,每隔period毫秒执行一次。

* timer.schedule(task, firstTime,period);

* //delay 为long类型:从现在起过delay毫秒执行一次。

* timer.schedule(task, delay);

* //delay为long,period为long:从现在起过delay毫秒以后,每隔period毫秒执行一次。

* timer.schedule(task, delay,period);

*/

private void startRun() {

TimerTask mTimerTask = new TimerTask() {

@Override

public void run() {

Message message = Message.obtain();

message.what = 1;

timeHandler.sendMessage(message);

}

};

mTimer.schedule(mTimerTask,0,1000);

}

修改界面,利用handler来提醒更新界面

private Handler timeHandler = new Handler() {

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

if (msg.what == 1) {

computeTime();

mDays_Tv.setText(mDay+"");//天数不用补位

mHours_Tv.setText(getTv(mHour));

mMinutes_Tv.setText(getTv(mMin));

mSeconds_Tv.setText(getTv(mSecond));

if (mSecond == 0 && mDay == 0 &am

你可能感兴趣的:(android中倒计时动画)