android 倒计时handle,android -handler 实现倒计时
实现倒计时想到了三个方案
1.countDownTimer
sdk较高版本有bug 计时不精准
2.timer 和timer task的方式
但是在timertask不可以直接更新页面,还是需要用handler去更新界面。
3.handler可以用 sendEmptyMessageDelayed可以实现倒计时
而且倒计时本身没有耗时操作也不要开子线程
Handler 实现
private static class MyHandler extends Handler {
WeakReference mWeakReference;
MyHandler(MyFragment fragment) {
mWeakReference = new WeakReference<>(fragment);
}
@Override
public void handleMessage(Message msg) {
final MyFragment fragment = mWeakReference.get();
if (fragment == null)
return;
switch (msg.what) {
case RESTART_COUNT_DOWN:
mHandler.removeCallbacksAndMessages(null);
fragment.countDownCount = 300;
sendEmptyMessage(START_COUNT_DOWN);
break;
case START_COUNT_DOWN:
if (fragment.countDownCount > 0) {
String time = fragment.converterToTime(fragment.countDownCount);
fragment.timeTv.setText(time);
sendEmptyMessageDelayed(START_COUNT_DOWN, 1000);
fragment.countDownCount--;
} else {
sendEmptyMessage(RESTART_COUNT_DOWN);
}
break;
}
}
}
//转换成 分钟:秒的形式 例如 05:00
private String converterToTime(int countDownCount) {
int minute = countDownCount / 60;
int second = countDownCount % 60;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(0);
stringBuilder.append(minute);
stringBuilder.append(":");
if (second < 10) {
stringBuilder.append(0);
}
stringBuilder.append(second);
return stringBuilder.toString();
}
fragment中调用
mHandler = new MyHandler(this);
移除所有信息
@Override
public void onDestroy() {
super.onDestroy();
if (mHandler != null) {
mHandler.removeCallbacksAndMessages(null);
}
}
android 倒计时handle,android -handler 实现倒计时相关推荐
- 【安卓基础】倒计时按钮封装(验证码倒计时按钮)
验证码按钮在项目的使用频率应该是100%,现在大多数应用都会采用手机号码登陆,通常都会支持发送验证码登陆的功能. 我在项目中也遇到这样的功能,特别在忘记密码的界面,我注意到一点:当发送验证码之后,要6 ...
- android倒计时功能,android实现倒计时功能(开始、暂停、0秒结束)
本文实例为大家分享了android实现倒计时功能的具体代码,供大家参考,具体内容如下 [思路]:通过 timer 执行周期延时的任务,handler 中将计时信息更新,并在计时结束时结束 timer ...
- android倒计时功能,Android 实现列表倒计时功能
Android 实现列表倒计时功能 发布时间:2020-08-21 21:47:11 来源:脚本之家 阅读:147 作者:Choi晨 单个计时器,然后遍历数据 刷新条目: 两种实现方式:1.Handl ...
- android中倒计时动画,Android实现倒计时效果
本文实例为大家分享了Android实现倒计时效果的具体代码,供大家参考,具体内容如下 一个倒计时的效果 先看效果图: 直接上代码: 这里是关于倒计时 -天时分秒-的逻辑判断 /** * 倒计时计算 * ...
- android自定义秒表,Android自定义Chronometer实现短信验证码秒表倒计时功能
本文实例为大家分享了Chronometer实现倒计时功能,Android提供了实现按照秒计时的API,供大家参考,具体内容如下 一.自定义ChronometerView 继续自TextView 主要原 ...
- android studio倒计时代码,AndroidStudio项目制作倒计时模块
前言 大家好,给大家带来AndroidStudio项目制作倒计时模块的概述,希望你们喜欢 项目难度 AndroidStudio项目制作倒计时模块的难度,不是很大,就是主要用了Timer和TimerTa ...
- android欢迎页圆形倒计时,android 欢迎页圆形进度条倒计时功能
常见app欢迎页圆形进度条倒计时功能,可设置显示文字,进度条颜色,宽度,倒计时时间,内圆颜色.设置进度条类型 顺数进度条(0-100)还是倒数进度条(100-0): 先上效果图: 下面介绍实现逻辑: ...
- android 一分钟倒计时动画,Android View篇之启动页倒计时动画的实现
Hello,小伙伴们大家好,今天介绍一个很简单的倒计时动画,仿酷狗音乐的启动页倒计时效果,也是大多数APP在用的一个动画,来看看效果图: 在这里插入图片描述 整体的思路就是用一个平滑的帧动画来画圆弧就 ...
- android实现首页倒计时,Android倒计时 Android仿京东倒计时 android电商app源码倒计时源码...
一个简单的计时器 提供了一些方法 设置margin public void setLinearLayoutMargin(int left, int top, int right, int bottom ...
最新文章
- 自己整合优化的一个Android框架
- CiscoOSPF的选路原理
- arm中断保护和恢复_浅谈ARM处理器的七种异常处理
- 人口增长(信息学奥赛一本通-T1070)
- 我的swagger上面怎么没有models_浅析特斯拉Model S的采样板
- 谷歌浏览器的 vue插件工具
- 【转载】linux进程控制-exec系列 exec系统调用
- 华硕和超微服务器主板稳定性,华硕、超微、泰安三款双路服务器主板横测
- JAVA架构师进阶之路
- 随机画五十个圆python_随的解释|随的意思|汉典“随”字的基本解释
- qml 文本框获取焦点
- GEE基础-大影像下载
- 打印zigtag矩阵
- CSP报错运行错误?
- 【Java】在Eclipse中,很多代码的背景变成黄色、绿色或红色(已解决)
- python - 模块解析
- 2022年废纸价格预测
- [Unity][游戏实现][UGUI][AnimatorAnimation]Graveyard Keeper守墓人UI实现
- 自动控制原理笔记(5)——线性系统的根轨迹法
- 深入理解机器学习——类别不平衡学习(Imbalanced Learning):基础知识
热门文章
- spring boot之security
- CentOS6 安装Sendmail + Dovecot + Squirrelmail
- windows查看进程
- es6继承 vs js原生继承(es5)
- display:inline-block;在各浏览器下的问题和终极兼容办法
- 西湖区政府门户网站项目签约西部动力We7网站群系统
- Java字符字符串类
- error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.
- 原生node写一个静态资源服务器
- Thinking in Java Reading Note(5.初始化与清理)