[Android]笔记11-计时器

计时器(Chronometer)

Android 还提供了一个计时器组件:Chronometer,该组件与TextClock都继承自TextView,因此他们都会显示一段文本。但Chronometer都不是显示当前时间,它显示的是从某个起始时间开始,一共过去了多长时间。
Chronometer 的用法也很简单,它只提供了一个androrid:fomat属性,用于指定计时器的计时格式,除此之外,Chronometer还支持如下常用方法:

  • setBase(long base):设置计时器的起始时间
  • setFormat(String format):设置显示时间格式
  • start():开始计时
  • stop():停止计时
  • setOnChronometerTickListener(Chronometer.OnChronometerTickListerner):为计时器绑定事件监听器,当计时器改变时触发该监听器。
package com.dezai.chronometer;

import android.os.SystemClock;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;

public class MainActivity extends AppCompatActivity {

    Chronometer ch;
    Button start;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取计时器组件
        ch=(Chronometer) findViewById(R.id.test);
        //获取开始按钮
        start=(Button) findViewById(R.id.start);
        start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View source) {
                //设置开始计时时间
                ch.setBase(SystemClock.elapsedRealtime());
                ch.start();
                start.setEnabled(false);
            }
        });
        //为Chronometer 绑定事件监视器
        ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener(){
            @Override
            public void onChronometerTick(Chronometer ch){
                //如果从开始计时到现在超过了5s
                if(SystemClock.elapsedRealtime()-ch.getBase()>5*1000){
                    ch.stop();
                    start.setEnabled(true);
                }
            }
        });
    }
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厦门德仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值