android 倒计时声音,android 倒计时实现
新的商品详情,对特卖要增加倒计时的功能:
采用了android系统的CountDownTimer这个类
关于这个类的用法:
* Schedule a countdown until a time in the future, with
* regular notifications on intervals along the way.
*
* Example of showing a 30 second countdown in a text field:
*
*
* new CountDownTimer(30000, 1000) {
*
* public void onTick(long millisUntilFinished) {
* mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
* }
*
* public void onFinish() {
* mTextField.setText("done!");
* }
* }.start();
在时间工具类中加了两个方法:
/**
* 获得倒计时的时间间隔
*
* @param dateStr
* @return
*/
public static long getCountdownInterval(String dateStr) {
long interval = 0;
if (StringUtils.isBlank(dateStr)) {
return interval;
}
Date countdownDate = new Date();
try {
countdownDate = DB_DATE_FORMAT.parse(dateStr);
} catch (ParseException e) {
LogUtils.loge("DateUtils", "日期格式有问题");
}
Date now = new Date();
interval = countdownDate.getTime() - now.getTime();
if (interval < 0)
return 0;
return interval;
}
/**
* @param createTime
* @return 返回离当前时刻的时间间隔,以中文形式描述
*/
public static int[] getCountdownIntervalDetails(long intervalSec) {
int[] countdownIntervalDetals = new int[4];
intervalSec = intervalSec / 1000;// 先转成秒
// 天
int day = (int) (intervalSec / (24 * 3600));
countdownIntervalDetals[0] = day;
intervalSec = intervalSec - day * (24 * 3600);
// 时
int hour = (int) (intervalSec / 3600);
countdownIntervalDetals[1] = hour;
intervalSec = intervalSec - hour * 3600;
// 分
int min = (int) (intervalSec / 60);
countdownIntervalDetals[2] = min;
intervalSec = intervalSec - min * 60;
countdownIntervalDetals[3] = (int) intervalSec;
return countdownIntervalDetals;
}
最后,组装成一个控件:
/**
* 倒计时控件
*/
public class L_CountdownBlock implements Y_UIBlock {
private Context mContext;
private View container;
private CountDownTimer cdt;
private TextView tv_countdown_day;
private TextView tv_countdown_hour;
private TextView tv_countdown_min;
private TextView tv_countdown_sec;
protected int[] intervalDetails;
public L_CountdownBlock(View view) {
this.container = view;
this.mContext = container.getContext();
}
/**
* 设置结束时间
*
* @param dateStr
*/
private void setDate(String dateStr) {
long interval = DateUtils.getCountdownInterval(dateStr);
cdt = new CountDownTimer(interval, 1000) {
@Override
public void onTick(long millisUntilFinished) {
intervalDetails = DateUtils
.getCountdownIntervalDetails(millisUntilFinished);
tv_countdown_day.setText(intervalDetails[0] + "");
tv_countdown_hour.setText(intervalDetails[1] + "");
tv_countdown_min.setText(intervalDetails[2] + "");
tv_countdown_sec.setText(intervalDetails[3] + "");
}
@Override
public void onFinish() {
//TODO 加了倒计时结束的逻辑
}
};
cdt.start();
}
/**
* 取消倒计时
*/
private void cancelCountdown() {
if (null != cdt) {
cdt.cancel();
}
}
@Override
public void update(T t) {
tv_countdown_day = (TextView) container
.findViewById(R.id.tv_countdown_day);
tv_countdown_hour = (TextView) container
.findViewById(R.id.tv_countdown_hour);
tv_countdown_min = (TextView) container
.findViewById(R.id.tv_countdown_min);
tv_countdown_sec = (TextView) container
.findViewById(R.id.tv_countdown_sec);
setDate((String) t);
}
@Override
public View getContentView() {
return container;
}
}
android 倒计时声音,android 倒计时实现相关推荐
- android+camera+声音,Android Camera.takePicture - 可以禁用快门声音和预览表面?
这实际上是一个电话的build.prop属性.我不确定是否有可能改变这一点.除非你完全覆盖它并使用你自己的相机代码.使用SDK中可用的功能. 看看这个: CameraService.cpp . . . ...
- android+警告声音,android – 如何使用带有setAudioAttributes的警报音量播放铃声?
所以我试图围绕音频属性.这是我到目前为止所拥有的: // alarm.getSound() will return a proper URI to pick a ringtone Ringtone t ...
- android倒计时功能,android实现倒计时功能(开始、暂停、0秒结束)
本文实例为大家分享了android实现倒计时功能的具体代码,供大家参考,具体内容如下 [思路]:通过 timer 执行周期延时的任务,handler 中将计时信息更新,并在计时结束时结束 timer ...
- android倒计时功能,Android 实现列表倒计时功能
Android 实现列表倒计时功能 发布时间:2020-08-21 21:47:11 来源:脚本之家 阅读:147 作者:Choi晨 单个计时器,然后遍历数据 刷新条目: 两种实现方式:1.Handl ...
- Android项目开发实战—倒计时[Handler,Timer,TimerTask,Message]
Android实现倒计时 先上一个本人实际操作中的界面: 源代码: (activity_main.xml和MainActivity.java) activity_main.xml: <Linea ...
- Android电商抢购倒计时,Android限时抢购倒计时实现代码
限时抢购倒计时实现效果图 布局: android:id="@+id/ll_xsqg" android:layout_width="match_parent" a ...
- android欢迎页圆形倒计时,android 欢迎页圆形进度条倒计时功能
常见app欢迎页圆形进度条倒计时功能,可设置显示文字,进度条颜色,宽度,倒计时时间,内圆颜色.设置进度条类型 顺数进度条(0-100)还是倒数进度条(100-0): 先上效果图: 下面介绍实现逻辑: ...
- Android学习之路-----倒计时欢迎界面(更有条理)
2019独角兽企业重金招聘Python工程师标准>>> Android学习之路-----倒计时欢迎界面(更有条理) 转载于:https://my.oschina.net/symahl ...
- android 一分钟倒计时动画,Android View篇之启动页倒计时动画的实现
Hello,小伙伴们大家好,今天介绍一个很简单的倒计时动画,仿酷狗音乐的启动页倒计时效果,也是大多数APP在用的一个动画,来看看效果图: 在这里插入图片描述 整体的思路就是用一个平滑的帧动画来画圆弧就 ...
最新文章
- css布局中的居中问题
- 无向图的最短路径求解算法之——Dijkstra算法
- Error: ENOSPC: System limit for number of file watchers reached, watch'所在文件路径'
- 开发中经常碰到的问题cookie和session问题,今天一并解决
- [MongoDB]db.serverStatus()命令详解
- 初识Android应用程序的五大基本组件
- 计算机视觉三大顶级会议ICCV,CVPR,ECCV网址
- oracle中新增一列赋值,给List里添加一字段并赋值 | 学步园
- 如何去除计算机的访问限制,访问限制达成,教你如何禁止别人访问你电脑的C盘...
- 华为服务器内存位置,服务器上的内存在哪里
- python中oxf_python的strip()函数不工作
- PAT (Basic Level) Practice1015 德才论
- linux命令获取显示器信息,如何确定液晶显示器是否从Linux命令行打开
- python毕业设计作品基于django框架 教室图书馆座位预约系统毕设成品(6)开题答辩PPT
- html 字体图标库,阿里字体图标库介绍及图标字体的使用方法
- 计算机2进制、4进制、8进制、10进制、16进制、32进制计算规则
- GoLang json格式化输出
- stm32f407探索者开发板(二)——新建工程(基于固件库)
- Java之美[从菜鸟到高手演变]之字符串
- ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.