• Android中Chronometer计时器的简单使用


    场景

    实现效果如下

    注:

    博客:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    将布局改为相对布局,然后添加一个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();
                    }
                }
            });
        }
    }
  • 相关阅读:
    【Lintcode】099.Reorder List
    【Lintcode】098.Sort List
    【Lintcode】096.Partition List
    【Lintcode】036.Reverse Linked List II
    C++中使用TCP传文件
    链表中倒数第k个结点
    剪贴板(进程通信)
    调整数组顺序使奇数位于偶数前面
    TCP数据流
    快速幂和同余模
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/12152827.html
Copyright © 2020-2023  润新知