zoukankan      html  css  js  c++  java
  • 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;
            }
        }
    (如需转载学习,请标明出处)
  • 相关阅读:
    为什么企业发展离不开ERP系统?
    PS Cloud:Odoo在中国唯一的SaaS营销平台
    Ps cloud里的CRM软件到底强在何处?
    PS Cloud备受关注的六大优点
    odoo的 CRM系统为何如此受欢迎
    iOS :Object-C 语言merge两个字典对象
    iOS:swift :可选类型
    iOS循环引用
    swift 3.0基本数据语法
    配置React Native环境
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9362165.html
Copyright © 2011-2022 走看看