Android计时器

本文介绍了Android中实现倒计时与计时器功能的方法。通过CountDownTimer类可轻松实现短信验证等场景的倒计时效果;使用Chronometer组件则可以实现简单计时器,适用于运动计时等应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在开发的时候有时候需要倒计时的功能有时候需要一个计时器一样的功能。我们大多数会写for循环累加然后写在线程中,这样写很麻烦,也很容易出错。今天我介绍一下这样的功能在Android中其实已经有封装了。

CountDownTimer  这个类是位于Android.OS包下。实现这个类中的三个方法就很容易实现倒计时的功能了。

下面是代码

这段代码实现了发送短信时的倒计时功能。

public class TimeCount extends CountDownTimer{


public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
// TODO Auto-generated constructor stub
}


@Override
public void onFinish() {
// TODO Auto-generated method stub
yanzhengma.setText("获取验证码");
yanzhengma.setClickable(true);
}


@Override
public void onTick(long arg0) {
// TODO Auto-generated method stub
yanzhengma.setClickable(false);
yanzhengma.setText(arg0/1000+"s");
}

}

下面在介绍一个计时器的组件

    <Chronometer  android:layout_weight="1"
        android:layout_width="0dip"
        android:text="0:0:0"
        android:format="%s"    
       android:textSize="50dp"
        android:gravity="center_vertical"
        android:layout_height="100dip"
        android:id="@+id/jishiqi"/>

format的意思

格式化字符串:如果指定,计时器将根据这个字符串来显示,替换字符串中第一个“%s”为当前"MM:SS""H:MM:SS"格式的时间显示。如果不指定,计时器将简单的显示"MM:SS" or "H:MM:SS"格式的时间。

timer.setBase(SystemClock.elapsedRealtime());  设置基准时间,SystemClock.elapsedRealtime()即表示从当前时间开始重新计时
timer.start();开始计时

timer.stop()停止计时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值