Android使用CountDownTimer倒计时
1、布局文件
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 android:layout_width="fill_parent" 3 android:layout_height="fill_parent" 4 android:orientation="vertical" > 5 <TextView 6 android:id="@+id/textView1" 7 android:layout_width="wrap_content" 8 android:layout_height="wrap_content" 9 android:text="TextView" /> 10 </LinearLayout>
2、调用
1 package com.best.daojishi; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.widget.TextView; 6 7 public class MainActivity extends Activity { 8 CountdownUtil c; 9 @Override 10 protected void onCreate(Bundle savedInstanceState) { 11 super.onCreate(savedInstanceState); 12 setContentView(R.layout.activity_main); 13 TextView textView = (TextView) findViewById(R.id.textView1); 14 15 c = new CountdownUtil(60000000, textView); 16 c.countdown(); 17 } 18 @Override 19 protected void onDestroy() { 20 // TODO Auto-generated method stub 21 super.onDestroy(); 22 c.stopThread(); 23 } 24 }
3、倒计时
1 package com.best.daojishi; 2 3 import java.text.SimpleDateFormat; 4 import java.util.TimeZone; 5 import android.os.CountDownTimer; 6 import android.widget.TextView; 7 /** 8 * 倒计时 9 * */ 10 public class CountdownUtil { 11 private long time; 12 TextView counetdownView; 13 CountdownThread thread; 14 SimpleDateFormat formatter; 15 String hms; 16 /** 17 * @time:时间差(指定的一段时间长),时间戳 18 * @counetdownView:TextView显示倒计时 19 * */ 20 public CountdownUtil(long time, TextView counetdownView) { 21 this.time = time; 22 this.counetdownView = counetdownView; 23 } 24 /** 25 * 倒计时 26 * */ 27 public void countdown(){ 28 formatter = new SimpleDateFormat("HH:mm:ss");// 初始化Formatter的转换格式。 29 formatter.setTimeZone(TimeZone.getTimeZone("GMT +8:00"));//设置时区(北京),如果你不设置这个,你会发现你的时间总会多出来8个小时 30 31 thread = new CountdownThread(time, 1000);// 构造CountDownTimer对象 32 thread.start(); 33 } 34 class CountdownThread extends CountDownTimer { 35 public CountdownThread(long millisInFuture, long countDownInterval) { 36 super(millisInFuture, countDownInterval); 37 // TODO Auto-generated constructor stub 38 } 39 @Override 40 public void onTick(long millisUntilFinished) { 41 hms = formatter.format(millisUntilFinished);//转化成 "00:00:00"的格式 42 counetdownView.setText(hms); 43 } 44 45 @Override 46 public void onFinish() { 47 // TODO Auto-generated method stub 48 //倒计时结束时触发 49 counetdownView.setText("00:00:00"); 50 } 51 } 52 /** 53 * 终止线程 54 * */ 55 public void stopThread(){ 56 thread.cancel(); 57 } 58 }
转载于:https://www.cnblogs.com/Jieth/p/5160463.html
Android使用CountDownTimer倒计时相关推荐
- 干货三:CountDownTimer倒计时工具类
概述 毫无疑问,我们先来看下官方文档中给的介绍 CountDownTimer 官方定义如下: Schedule a countdown until a time in the future, with ...
- android 酷炫倒计时,android 好用的倒计时
android倒计时 是在原有TextView的基础上进行二次开发的自定义View 效果图 这个主要是结合了android的CountDownTimer,这个一般就是发送短信的倒计时. 包含功能 倒计 ...
- 直播倒计时android,直播代码,Android实现验证码倒计时
直播代码,Android实现验证码倒计时实现的相关代码 创建一个CountDownTimerUtils工具类 //倒计时函数 private class CountDownTimerUtilsexte ...
- CountDownTimer 倒计时封装(可 暂停 继续 重新开始)
直接封转好了的 时间可以自己改DefauteMillisInFuture 这个值; **以下为使用方法** //开始倒计时CountDownTimerUtil.StartToCountDown(cur ...
- android 天时分倒计时,Android倒计时(分钟)
本文通过CountDownTimer来实现倒计时的功能,先上效果图 效果图.gif 1.核心方法就是通过onTick方法来获取时间的改变 public void onTick(long millisU ...
- Android listview item倒计时功能
前段时间项目有个需求是需要在listview的item中做个60s倒计时功能,并且倒计时的时间由本地记录,无关服务端.网上找了一些demo,有倒计时的功能,但总有些问题,也无法满足需求,最后自己改进后 ...
- android 获取验证码倒计时
在开发时,登陆注册时必有的模块,下面是记录一下注册时获取验证码的方法:效果图如下: 获取验证码后,进入倒计时并且是不可点击的状态. 1.复制下面工具类到项目中 import android.graph ...
- android倒计时功能,Android 实现列表倒计时功能
Android 实现列表倒计时功能 发布时间:2020-08-21 21:47:11 来源:脚本之家 阅读:147 作者:Choi晨 单个计时器,然后遍历数据 刷新条目: 两种实现方式:1.Handl ...
- 自定义圆形倒计时Android,Android自定义View倒计时圆
本文实例为大家分享了Android自定义View倒计时圆的具体代码,供大家参考,具体内容如下 创建attr 创建DisplayUtil 类 import android.content.Context ...
最新文章
- 【STL源码剖析读书笔记】【第5章】关联式容器之hashtable
- poi 拆分带图片的word_学会这2招,再多的“表格编号”都能轻松解决!【Word教程】...
- python程序员招聘信息-为什么企业很难招聘到好的python程序员?
- 【MM模块】Blocking Reasons 冻结原因
- 如何评价模型的好坏(一)
- Linux的tree
- android入门学习-天气预报app(一)
- pandas.read_csv——分块读取大文件
- zygoteinit.java_源码跟踪之启动流程:从ZygoteInit到onCreate
- Python数据分析之全球人口数据
- UE4如何解析命令行参数
- 科研_今天,我们怎么做科研?
- adadelta算法_【深度学习】深入理解优化器Optimizer算法(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)...
- word里双横线怎么打_word 双下横线怎么打出来
- BMS模块相关的JTS-1108HL评测及BMS网络滤波器规格
- 【2013水王争霸赛】啊!
- 学习《Redis设计与实现》Chapter2
- PHP的isset和empty的区别
- Paper2:VGG Notes
- Flash, Flex, Air, Flashplayer之间的相互关系是什么?