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(); //启动计时
}
}
