简单实现Android倒计时效果
作者:嘉禾世兴 发布时间:2022-03-26 01:58:14
标签:Android,倒计时
本文实例为大家分享了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);
}
来源:http://www.cnblogs.com/anni-qianqian/p/6795950.html


猜你喜欢
- 前言在日常的测试工作过程中,app可能会出现闪退崩溃的情况,这个时候就需要测试同学快速抓取到崩溃日志,来有效的辅助开发定位问题,快速的去解决
- 前言Spring Seuciry相关的内容看了实在是太多了,但总觉得还是理解地不够巩固,还是需要靠知识输出做巩固。相关版本:java: jd
- 一、Autowired注解的用法1、概述使用spring开发时,进行配置主要有两种方式,一是xml的方式,二是java config的方式。
- 新公司工程是用Maven管理的,技术上使用了JPA,但是我导入工程到MyEclipse时,applicationContext.xml中提示
- 一、遇到一个问题1、读取CSV文件package com.guor.demo.charset;import java.io.Buffered
- package test001;import java.awt.event.ActionEvent;import java.awt.even
- 目录一、简介二、环境介绍三、主题1. ThemeData2. main.dart or MaterialApp四、全局配置1. Global
- Android 3.0引入了CursorLoader实现异步加载数据,为了避免同步查询数据库时阻塞UI线程的问题。在API 11之前可以通过
- 好久没有更新了,之前公司在做 关注/粉丝 这块儿缓存的时候,我选择的就是 Bitmap ,那时是我第一次见识到这种数据数组形式,用到的有 S
- java后端介绍今天我正式开始了一个新话题,那就是 Web。目前我主要会介绍后端。作为后端的老大哥 java,也有很多后端框架,比如大家耳熟
- 一、前言1、热更新代码的场景(1)当线上服务器出现问题时,有些时候现有的手段不足以发现问题所在,可能需要追加打印日志或者增加一些调试代码,如
- Java 目前已经出到13的版本,但是国内大部分公司应该都停留在 Java 8 的版本(不敢承担升级带来的风险)。在Java8中给我们带来了
- 本文实例为大家分享了java实现五子棋程序的具体代码,供大家参考,具体内容如下知识点1、Swing 编程2、ImageIO 类的使用3、图片
- Java 定时器在JAVA中实现定时器功能要用的二个类是Timer,TimerTaskTimer类是用来执行任务的类,它接受一个
- 本文实例讲述了C#面向对象编程之猜拳游戏实现方法。分享给大家供大家参考。具体实现方法如下:1.需求现在要制作一个游戏,玩家与计算机进行猜拳游
- 前言Kotlin越来越流行,在Google的推动下发展的很迅猛,现在的项目大多使用上了Kotlin,其简练的语法糖确实能减少不少代码。Ada
- package com.videobackend.controller;import java.io.File;import java.io
- 简单介绍下功能1.每隔一段时间(比如1分钟)在京东手机每日一秒杀页面提取产品(手机)链接。 http://sale.360buy.com/a
- 个人觉得eclipse提示较少,所以今天就写了这篇文章。使用Intellij IDEA 2018实现Hello,World的时候我遇到了一些
- 在java的开发中,java开发人员建议,尽量少用内部类,要把内部类提出他所处的那个类,单独生成一个类。直接来代码:package com.