时间计时器,效果图在附件中
贴一些代码吧,界面设置比较简单就不放这了,如果觉得是自己想要的就下载附件,附件中包含了界面的设置:
package com.chronometer;
import android.app.Activity;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.EditText;
public class TimerTestActivity extends Activity implements OnClickListener{
int startTime = 1;
Chronometer chronometer;
EditText edtSetTime;
Button btnStart;
Button btnStop;
Button btnReset;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initView();
/*chronometer.setBase(SystemClock.elapsedRealtime());
//计时开始
chronometer.start();*/
//为计时器设置一个监听事件
chronometer.
setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
//如果开始计时到现在超过了startime秒
if (SystemClock.elapsedRealtime()-chronometer.getBase()>startTime*10000) {
//停止计时
chronometer.stop();
//显示警告“时间到”框
showDialog();
}
}
});
}
//初始化变量
private void initView(){
chronometer = (Chronometer) findViewById(R.id.chronometer);
edtSetTime = (EditText) findViewById(R.id.edt_settime);
btnStart = (Button) findViewById(R.id.btnStart);
btnStop = (Button) findViewById(R.id.btnStop);
btnReset = (Button) findViewById(R.id.btnReset);
btnStart.setOnClickListener(this);
btnStop.setOnClickListener(this);
btnReset.setOnClickListener(this);
}
//显示弹出式对话框
private void showDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.icon);
builder.setTitle("警告").setMessage("时间到").setPositiveButton("确定",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
//按钮的监听器
@Override
public void onClick(View v) {
switch (v.getId()) {
//开始计时按钮的监听
case R.id.btnStart:{
System.out.println("开始计时----");
String ss = edtSetTime.getText().toString();
if (!(ss.equals(""))&&ss!=null) {
startTime = Integer.parseInt(ss);
System.out.println("startTime:"+startTime);
}
//设置开始计时时间
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();
}
break;
//停止计时按钮的监听
case R.id.btnStop:{
chronometer.stop();
}
break;
//重新计时按钮的监听
case R.id.btnReset:{
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();
}
break;
default:
break;
}
}
}