简单计时器

来源:互联网 发布:淘宝密码找回 编辑:程序博客网 时间:2024/05/22 17:08

.setBase():用于设置计时器的起始时间。

.setFormat():用于设置显示器的格式。

.start():用于指定开始计时。

.stop():用于停止计时。

先来看看效果:


下面我们来看看代码:

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dip"
        android:orientation="horizontal"
        >
        <TextView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:gravity="center"
            android:text="设置时间:"
            />
        <EditText
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/edt_settime"
            android:layout_weight="1"
            android:inputType="number"
            />
    </LinearLayout>
<Chronometer 
   android:id="@+id/chronometer"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:gravity="center"
   android:textColor="#FF0000"
   android:textSize="60dp"
   
   />
<LinearLayout 
   android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dip"
        android:orientation="horizontal"
   >
   <Button 
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:id="@+id/btnStart"
       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:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:id="@+id/btnReset"
       android:layout_weight="1"
       android:text="重置"
       />
</LinearLayout>
</LinearLayout>

mainActivity.java代码如下:

package com.example.chronometer;


import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.EditText;




public class MainActivity extends Activity {

private int starttime=0;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final Chronometer chronometer=(Chronometer)findViewById(R.id.chronometer);
        Button btnStart=(Button)findViewById(R.id.btnStart);
        Button btnStop=(Button)findViewById(R.id.btnStop);
        Button btnRest=(Button)findViewById(R.id.btnReset);
        final EditText edtSetTime=(EditText)findViewById(R.id.edt_settime);
        btnStart.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
System.out.println("--开始计时--");
String ss=edtSetTime.getText().toString();
if(!(ss.equals("")&&ss!=null)){
starttime=Integer.parseInt(edtSetTime.getText().toString());

}
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();


}
});
        btnStop.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
chronometer.stop();

}
});
        btnRest.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
chronometer.setBase(SystemClock.elapsedRealtime());

}
});
        chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {

@Override
public void onChronometerTick(Chronometer chronometer) {
if(SystemClock.elapsedRealtime()-chronometer.getBase()>starttime*1000){
chronometer.stop();
showDialog();
}

}



});
    }
    protected void showDialog(){
    AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setIcon(R.drawable.ic_launcher)
.setTitle("警告!!")
.setMessage("时间到")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {}
});
AlertDialog dialog=builder.create();
dialog.show();

    }
}

0 0
原创粉丝点击