Android使用CountDownTimer倒计时
1、布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
2、调用
package com.best.daojishi; import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView; public class MainActivity extends Activity {
CountdownUtil c;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView) findViewById(R.id.textView1); c = new CountdownUtil(60000000, textView);
c.countdown();
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
c.stopThread();
}
}
3、倒计时
package com.best.daojishi; import java.text.SimpleDateFormat;
import java.util.TimeZone;
import android.os.CountDownTimer;
import android.widget.TextView;
/**
* 倒计时
* */
public class CountdownUtil {
private long time;
TextView counetdownView;
CountdownThread thread;
SimpleDateFormat formatter;
String hms;
/**
* @time:时间差(指定的一段时间长),时间戳
* @counetdownView:TextView显示倒计时
* */
public CountdownUtil(long time, TextView counetdownView) {
this.time = time;
this.counetdownView = counetdownView;
}
/**
* 倒计时
* */
public void countdown(){
formatter = new SimpleDateFormat("HH:mm:ss");// 初始化Formatter的转换格式。
formatter.setTimeZone(TimeZone.getTimeZone("GMT +8:00"));//设置时区(北京),如果你不设置这个,你会发现你的时间总会多出来8个小时 thread = new CountdownThread(time, 1000);// 构造CountDownTimer对象
thread.start();
}
class CountdownThread extends CountDownTimer {
public CountdownThread(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
// TODO Auto-generated constructor stub
}
@Override
public void onTick(long millisUntilFinished) {
hms = formatter.format(millisUntilFinished);//转化成 "00:00:00"的格式
counetdownView.setText(hms);
} @Override
public void onFinish() {
// TODO Auto-generated method stub
//倒计时结束时触发
counetdownView.setText("00:00:00");
}
}
/**
* 终止线程
* */
public void stopThread(){
thread.cancel();
}
}
Android使用CountDownTimer倒计时的更多相关文章
- 拓展 Android 原生 CountDownTimer 倒计时
拓展 Android 原生 CountDownTimer 倒计时 [TOC] CountDownTimer 在系统的CountDownTimer上进行的修改,主要是拓展了功能,当然也保留了系统默认的模 ...
- [Android Pro] CountDownTimer倒计时
定时执行在一段时候后停止的倒计时,在倒计时执行过程中会在固定间隔时间得到通知(译者:触发onTick方法),下面的例子显示在一个文本框中显示一个30s倒计时: new CountdownTimer(3 ...
- Android 获取验证码倒计时实现
Android 获取验证码倒计时实现 2017年10月24日 09:55:41 FBY展菲 阅读数:2002 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- Android计时器和倒计时
Android计时器和倒计时 计时器两个核心类 Timer 和 TimerTask 1) Timer核心方法 Java代码 //Schedules the specified task for ex ...
- 利用CountDownTimer倒计时的简单使用实现
package com.loaderman.countdowntimerdemo; import android.os.Bundle; import android.os.CountDownTimer ...
- Android基础之CountDownTimer 倒计时类
app常用的60s倒计时计时功能: private static final int TIME_LIMIT = 60; private void initView() { // 相关控件 mResen ...
- Android CountDownTimer 倒计时
摘自:http://www.cnblogs.com/over140/archive/2011/12/20/2294220.html 继承关系 public abstract class CountDo ...
- Android 关于 CountDownTimer onTick() 倒计时不准确问题源码分析
一.问题 CountDownTimer 使用比较简单,设置 5 秒的倒计时,间隔为 1 秒. final String TAG = "CountDownTimer"; * , ) ...
- Android利用CountDownTimer类实现倒计时功能
public class MainActivity extends Activity { private MyCount mc; private TextView tv; @Override publ ...
随机推荐
- SHELL编写NGINX服务控制脚本
使用源码包安装的Nginx没办法使用"service nginx start"或"/etc/init.d/nginx start"进行操作和控制,所以写了以下的 ...
- ThinkPhp 3.2 常见问题与注意事项
1 命名空间声明必须写在脚本的最前面 如果运行PHP脚本后出现如下错误: Namespace declaration statement has to be the very first statem ...
- java spring mvc restful 上传文件
spring mvc 配置文件 <bean class="com.baiyyy.yfz.core.RestfulHandlerMethodMapping" /> ...
- 安装LNMP(Nginx+Mysql+PHP)
1:安装nginxyum install -y gcc pcre-devel openssl-develwget http://www.nginx.org/download/nginx-1.4.2.t ...
- webapi6
- Adapt适配器
为接口提供所有的空实现,让使用者仅仅覆盖需要的部分: 本思想肯定有问题,慢慢考究 frame.addWindowListener(new WindowAdapter() { @Override pub ...
- C#编写window服务,一步一步(1)
Window服务是啥,这里就不废话了,如何用在哪里用也不废话了,这里我这篇文章只是详述了我在vs2012中创建window服务的经过,希望对你有所帮助. 另外:我在编写服务过程中参考了 Profess ...
- eclipse启动tomcat, http://localhost:8080无法访问
原地址 症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误.同时其他项目页面也不能访问. 关闭eclipse里面的 ...
- Dota2 demo手游项目历程
最近其实是打算认真研究c++ primer和设计模式的原著,然后写一些读书笔记的,不过设计模式原著里生词太多,大多都看的不是很明白,因此暂时放弃阅读设计模式,打算用这些时间做一个类似我叫mt2的手游d ...
- 【学习笔记】load-on-startup Servlet
创建Servlet实例有两个时机:用户请求之时和应用启动之时.应用启动之时创建的通常用于某些后台服务的Servlet.配置load-on-startup的Servlet有两种方式: 在web.xml文 ...