欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android中Chronometer计时器的简单使用

程序员文章站 2022-06-23 22:31:54
场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 将布局改为相对布局,然后添加一个Chronometer,并添加id属性。

场景

实现效果如下

Android中Chronometer计时器的简单使用

 

 

Android中Chronometer计时器的简单使用

注:

博客:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

将布局改为相对布局,然后添加一个chronometer,并添加id属性。

<?xml version="1.0" encoding="utf-8"?>
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".chronomteractivity">

    <chronometer
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textcolor="#000fff"
        android:id="@+id/chronmeter"/>

</relativelayout>

 

然后来到activity,获取计时器,设置起始时间为当前时间,设置显示格式。

然后启动计时器,并添加计时器改变监听器。

package com.badao.relativelayouttest;

import androidx.appcompat.app.appcompatactivity;

import android.os.bundle;
import android.os.systemclock;
import android.widget.chronometer;

public class chronomteractivity extends appcompatactivity {

    chronometer chronometer ;
    @override
    protected void oncreate(bundle savedinstancestate) {
        super.oncreate(savedinstancestate);
        setcontentview(r.layout.activity_chronomter);
        //获取计时器
        chronometer = (chronometer) findviewbyid(r.id.chronmeter);
        //设置起始时间为当前时间
        chronometer.setbase(systemclock.elapsedrealtime());
        //设置显示格式
        chronometer.setformat("%s");
        //启动计时器
        chronometer.start();
        //设置计时器该改变监听事件
        chronometer.setonchronometerticklistener(new chronometer.onchronometerticklistener() {
            @override
            public void onchronometertick(chronometer chronometer) {
                //如果当前时间 - 计时器的起始时间 >= 15秒
                if(systemclock.elapsedrealtime() - chronometer.getbase() >=15000)
                {
                    //停止计时器
                    chronometer.stop();
                }
            }
        });
    }
}