• Android_(控件)Chronometer计时器


    Android Chronometer(计时器)

    继承TextView,显示的是某个时间点开始以及之后的时间增加

    运行截图

    程序结构

    package com.example.administrator.myapplication;
    
    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;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener,Chronometer.OnChronometerTickListener{
    
        private Chronometer chronometer;
        private Button btn_start,btn_stop,btn_base;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initView();
        }
    
        private void initView() {
            chronometer = (Chronometer) findViewById(R.id.chronometer);
            btn_start = (Button) findViewById(R.id.btnStart);
            btn_stop = (Button) findViewById(R.id.btnStop);
            btn_base = (Button) findViewById(R.id.btnReset);
    
            chronometer.setOnChronometerTickListener(this);
            btn_start.setOnClickListener(this);
            btn_stop.setOnClickListener(this);
            btn_base.setOnClickListener(this);
    
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.btnStart:
                    chronometer.start();// 开始计时
                    break;
                case R.id.btnStop:
                    chronometer.stop();// 停止计时
                    break;
                case R.id.btnReset:
                    chronometer.setBase(SystemClock.elapsedRealtime());// 复位
                    break;
            }
        }
    
        @Override
        public void onChronometerTick(Chronometer chronometer) {
            String time = chronometer.getText().toString();
            if(time.equals("00:00")){
                Toast.makeText(MainActivity.this,"开始计时",Toast.LENGTH_SHORT).show();
            }
        }
    }
    MainActivity
    <?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:orientation="vertical"
        tools:context="com.example.administrator.myapplication.MainActivity"
        android:padding="5dp">
    
        <Chronometer
            android:id="@+id/chronometer"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textSize="60dip" />
    
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dip"
            android:orientation="vertical">
    
            <Button
                android:id="@+id/btnStart"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="开始记时" />
    
            <Button
                android:id="@+id/btnStop"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="停止记时" />
    
            <Button
                android:id="@+id/btnReset"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="重置" />
    
        </LinearLayout>
    
    
    
    </LinearLayout>
    activity_main.xml

    Chronometer主要的方法

    //开始
    mChronometer.start();
    //停止
    mChronometer.stop();
    //设置初始值(重置)
    mChronometer.setBase(long base);
    //事件监听器,时间发生变化时可进行操作
    mChronometer.setOnChronometerTickListener();
    //设置格式(默认"MM:SS"格式)
    mChronometer.setFormate("%s");

      按钮事件

      public void onClick(View v) {
            switch (v.getId()){
                case R.id.btnStart:
                    chronometer.start();// 开始计时
                    break;
                case R.id.btnStop:
                    chronometer.stop();// 停止计时
                    break;
                case R.id.btnReset:
                    chronometer.setBase(SystemClock.elapsedRealtime());// 复位
                    break;
            }
        }
    (如需转载学习,请标明出处)
  • 相关阅读:
    游戏中的View开发
    下载更新包,并且在任务栏提示进度.
    调用android非unbind的服务中的方法(不使用bindService启动的服务)
    判断android系统中Service是否在运行的方法
    如何从Activity中调用Service中的方法
    android官方文档---应用程序基础---服务的理解(app Component---services)
    怎么通过文件名的String,找到对应的资源ID
    疯狂Java之JDBC 笔记
    android应用将json数据打包在本地,进行读取的代码
    STL 堆的使用
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9362165.html
Copyright © 2020-2023  润新知