简单实现Android倒计时效果
程序员文章站
2023-12-12 12:26:28
本文实例为大家分享了android倒计时效果的具体代码,供大家参考,具体内容如下
需求:
a.在后台添加时,如果是今日直播,则需要添加开始时间(精确到秒);
b.离开...
本文实例为大家分享了android倒计时效果的具体代码,供大家参考,具体内容如下
需求:
a.在后台添加时,如果是今日直播,则需要添加开始时间(精确到秒);
b.离开始时间超过1天,显示为:“离开时还有x天”;
c.离开时时间不到1天,显示为:“离开时还有xx:xx:xx”;
d.如果已经开始,显示为:“火热进行中”。
效果图:
/** * 显示剩余时间 */ private void setresttime(final baseviewholder holder, indexpicadmodel model) { holder.setvisible(r.id.time, false); holder.setvisible(r.id.daytime, false); if (null != timer) { timer.cancel(); } timer = new timer(); timerest = long.valueof(model.getstarttime()) - system.currenttimemillis(); timer.schedule(new timertask() { @override public void run() { timerest = timerest - 1000; final long day = timerest / (24 * 60 * 60 * 1000); final long hour = (timerest / (60 * 60 * 1000) - day * 24); final long min = ((timerest / (60 * 1000)) - day * 24 * 60 - hour * 60); final long second = (timerest / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60); livetodayhandler.post(new runnable() { @override public void run() { //如果大于一天 if (day >= 1) { holder.settext(r.id.day, day + ""); holder.settext(r.id.title, "离开始还有"); holder.setvisible(r.id.time, true); holder.setvisible(r.id.daytime, false); } else if (timerest <= 0) { if (null != timer) { timer.cancel(); } holder.settext(r.id.title, "火热进行中"); holder.setvisible(r.id.time, false); holder.setvisible(r.id.daytime, false); } else { holder.settext(r.id.hour, (hour >= 10 ? hour + "" : "0" + hour)); holder.settext(r.id.min, (min >= 10 ? min + "" : "0" + min)); holder.settext(r.id.second, (second >= 10 ? second + "" : "0" + second)); holder.settext(r.id.title, "离开始还有"); holder.setvisible(r.id.time, false); holder.setvisible(r.id.daytime, true); } } }); } }, 0, 1000); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。