Chronometer 定时器

作者: 穿越平行宇宙 | 来源:发表于2019-04-19 20:30 被阅读3次

Chronometer是一个简单的定时器,可以通过setBase()来给它一个基准时间,并从该时间开始计数;如果不给基准时间,将使用调用start()方法时的时间。默认将显示当前"MM:SS"或 "H:MM:SS"格式的时间,当然也可以自定义字符串来格式化显示。

  • Chronometer的一个比较重要的XML属性如下:

android:format:设置时间的格式如: hh:mm:ss。

  • Chronometer的一些常用方法如下:

setBase(long base):设置倒计时定时器。

setFormat(String format):设置显示时间的格式。

start():开始计时。

stop():停止计时。

  • 在使用Chronometer时,如果希望监控该组件的时间,则可调用Chronometer的 setOnChronometerTickListener()方法为此组件的点击事件添加事件监听器。

接下来通过一个简单的示例程序来学习Chronometer的使用。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="onStart"
            android:text="开始计时"
            tools:ignore="OnClick" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="onStop"
            android:text="停止计时"
            tools:ignore="OnClick" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="onReset"
            android:text="重置"
            tools:ignore="OnClick" />
    </LinearLayout>

    <Chronometer
        android:id="@+id/chronometer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="15dp" />


</LinearLayout>

MainActivity.java

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

public class MainActivity extends AppCompatActivity {

    private Chronometer mChronometer = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        mChronometer = (Chronometer) findViewById(R.id.chronometer);
        //setFormat设置用于显示的格式化字符串。
        //替换字符串中第一个“%s”为当前"MM:SS"或 "H:MM:SS"格式的时间显示。
        mChronometer.setFormat("计时:%s");

    }

    // 开始计时
    public void onStart(View view) {
        mChronometer.start();
    }
    // 停止计时
    public void onStop(View view) {
        mChronometer.stop();
    }
    // 重置
    public void onReset(View view) {
        //setBase 设置基准时间
        //设置参数base为SystemClock.elapsedRealtime()即表示从当前时间开始重新计时)。
        mChronometer.setBase(SystemClock.elapsedRealtime());
    }


}

运行程序,可以看到下图所示界面效果。


image.png

相关文章

  • Chronometer 定时器

    Chronometer是一个简单的定时器,可以通过setBase()来给它一个基准时间,并从该时间开始计数;如果不...

  • 2019-11-15

    Chronometer 安卓自带计时器 Chronometer.setBase()传入真实时间戳(SystemCl...

  • Android基础到进阶UI Chronometer 使用+实例

    Chronometer Chronometer是一个简单的计时器组件,继承自TextView。但是Chronome...

  • 自定义Chronometer实现定时器

    前言 在Android开发过程中,计时控件是经常回使用到的,在Android控件库中有一个能快捷实现计时功能的控件...

  • Chronometer

    Android Chronometer(计时器)

  • Chronometer

    简介 官方提供的简易版时间显示控件Google传送门 计时功能 开始计时 停止计时 重置时间 倒计时(暂不建议使用...

  • Chronometer使用

    今天直播项目中有用到记录直播时间的问题,发现还有这么一个布局Chronometer,学习以后非常简单。 Andro...

  • Chronometer计时器暂停开始

    简介: 暂停,再次开始会延续之前的计时. 布局: 代码: private boole...

  • Android Chronometer运用

    如果是疑惑其显示格式或者是没有work请直接到第三节,看是否是格式设置问题 Android自带的Chronomet...

  • Android 正计时0.0

    Android 正计时 控件 Android 正计时控件---Chronometer用起来特别简单,1在xml文件...

网友评论

    本文标题:Chronometer 定时器

    本文链接:https://www.haomeiwen.com/subject/pqacgqtx.html