Chronometer控件布局文件如下
处理代码如下
package com.idt.os.mychronoscopeapp; import android.graphics.Color; import android.os.Bundle; import android.os.SystemClock; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Chronometer; public class MainActivity extends AppCompatActivity { private Chronometer chronometer; private final int DOWN_COUNTER_TIMER = 10000; //10秒 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); chronometer = (Chronometer) findViewById(R.id.chronometer); chronometer.setTextSize(100); //字体大小 chronometer.setTextColor(Color.RED); //字体颜色 chronometer.setFormat("%s"); //设置计时器显示格式 } public void countDown(View view) { chronometer.setBase(SystemClock.elapsedRealtime()+DOWN_COUNTER_TIMER); //设置计时时基 chronometer.setCountDown(true); //倒计时 final long base = chronometer.getBase(); chronometer.start(); //启动计时 chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { @Override public void onChronometerTick(Chronometer chronometer) { long time = SystemClock.elapsedRealtime(); /获取系统时间 if(time >= base) { if(chronometer.isCountDown()) //是否是倒计时 chronometer.stop(); //停止计时 } } }); } public void countUp(View view) { chronometer.setBase(SystemClock.elapsedRealtime()); //设置计时时基 chronometer.setCountDown(false); //顺计时 chronometer.start(); //启动计时 } }