栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android Chronometer控件实现计时器函数详解

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android Chronometer控件实现计时器函数详解

本文为大家演示了如何使用Chronometer控件实现Android计时器的实例。

先贴上最终的实现效果图:

Android计时器实现思路

使用Chronometer控件实现计器的操作。通过设置setbase(long base)来设置初始时间,然后为其添加一个 setonChronometerTickListener(Chronometer.onChronometerTickListener l)事件来判断时间是否到了,然后再调用其stop()方法实现停止计时。

Android计时器实现代码
main.xml:

 
 
 
   
 
     
 
     
   
 
   
 
   
 
    

Activity代码:

package com.jiahui.chronometer;  
 
import android.app.Activity;  
import android.app.alertDialog;  
import android.app.Dialog;  
import android.content.DialogInterface;  
import android.os.Bundle;  
import android.os.SystemClock;  
import android.text.format.Time;  
import android.view.View;  
import android.widget.Button;  
import android.widget.Chronometer;  
import android.widget.EditText;  
 
public class ChronometerDemoActivity extends Activity {  
 
  private int startTime = 0;  
 
  public 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) {  
     // 如果开始计时到现在超过了startime秒  
     if (SystemClock.elapsedRealtime()  
  - chronometer.getbase() > startTime * 1000) {  
chronometer.stop();  
// 给用户提示  
showDialog();  
     }  
   }  
 });  
  }  
 
  protected void showDialog() {  
    alertDialog.Builder builder = new alertDialog.Builder(this);  
     builder.setIcon(R.drawable.eb28d25);  
    builder.setTitle("警告").setMessage("时间到")  
 .setPositiveButton("确定", new DialogInterface.onClickListener() {  
   @Override 
   public void onClick(DialogInterface dialog, int which) {  
   }  
 });  
 
    alertDialog dialog = builder.create();  
    dialog.show();  
  }  
} 

以上就是关于Android Chronometer控件实现计时器的相关函数,希望对大家学习Android软件编程有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/162694.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号