第一步:布局文件:

main.xml代码如下: View Code
 1 <?xml version="1.0" encoding="utf-8"?> 2  3 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 4  5     android:layout_width="fill_parent" 6  7     android:layout_height="fill_parent" 8  9     android:orientation="vertical" >10 11 12 13 14     <Chronometer15 16         android:id="@+id/myChronometer"17 18         android:layout_width="fill_parent"19 20         android:layout_height="wrap_content" />21 22 23 24 25     <LinearLayout26 27         android:layout_width="fill_parent"28 29         android:layout_height="wrap_content"30 31         android:orientation="horizontal" >32 33 34 35 36         <Button37 38             android:id="@+id/btn_start"39 40             android:layout_width="wrap_content"41 42             android:layout_height="wrap_content"43 44             android:text="开始" />45 46 47 48 49         <Button50 51             android:id="@+id/btn_stop"52 53             android:layout_width="wrap_content"54 55             android:layout_height="wrap_content"56 57             android:text="停止" />58 59 60 61 62         <Button63 64             android:id="@+id/btn_base"65 66             android:layout_width="wrap_content"67 68             android:layout_height="wrap_content"69 70             android:text="复位" />71 72 73 74 75         <Button76 77             android:id="@+id/btn_format"78 79             android:layout_width="wrap_content"80 81             android:layout_height="wrap_content"82 83             android:text="格式化" />84 85     </LinearLayout>86 87 88 89 90 </LinearLayout>
第二步:MainActivity 代码如下: View Code
  1 package net.loonggg.chronometer;  2   3   4   5   6 import android.app.Activity;  7   8 import android.os.Bundle;  9  10 import android.os.SystemClock; 11  12 import android.os.Vibrator; 13  14 import android.view.View; 15  16 import android.widget.Button; 17  18 import android.widget.Chronometer; 19  20 import android.widget.Chronometer.OnChronometerTickListener; 21  22  23  24  25 public class MainActivity extends Activity { 26  27     private Vibrator vibrator; 28  29     private Chronometer chronometer; // 计时组件 30  31     private Button btn_start; 32  33     private Button btn_stop; 34  35     private Button btn_base; 36  37     private Button btn_format; 38  39  40  41  42     @Override 43  44     public void onCreate(Bundle savedInstanceState) { 45  46         super.onCreate(savedInstanceState); 47  48         setContentView(R.layout.main); 49  50         vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);// 获取震动服务 51  52         chronometer = (Chronometer) findViewById(R.id.myChronometer); 53  54         chronometer 55  56                 .setOnChronometerTickListener(new OnChronometerTickListenerImpl()); // 给计时组件设置舰艇对象 57  58         btn_start = (Button) findViewById(R.id.btn_start); 59  60         btn_stop = (Button) findViewById(R.id.btn_stop); 61  62         btn_base = (Button) findViewById(R.id.btn_base); 63  64         btn_format = (Button) findViewById(R.id.btn_format); 65  66  67  68  69         btn_start.setOnClickListener(new ButtonClickListener()); 70  71         btn_stop.setOnClickListener(new ButtonClickListener()); 72  73         btn_base.setOnClickListener(new ButtonClickListener()); 74  75         btn_format.setOnClickListener(new ButtonClickListener()); 76  77     } 78  79  80  81  82     public class OnChronometerTickListenerImpl implements // 计时监听事件,随时随地的监听时间的变化 83  84             OnChronometerTickListener { 85  86  87  88  89         @Override 90  91         public void onChronometerTick(Chronometer chronometer) { 92  93             String time = chronometer.getText().toString(); 94  95             if ("00:05".equals(time)) {// 判断五秒之后,让手机震动 96  97                 vibrator.vibrate(new long[] { 1000, 10, 100, 10 }, 0);// 设置震动周期和是否循环震动,如果不想循环震动把0改为-1 98  99             }100 101         }102 103     }104 105 106 107 108     public class ButtonClickListener implements View.OnClickListener {109 110 111 112 113         @Override114 115         public void onClick(View v) {116 117             switch (v.getId()) {118 119             case R.id.btn_start:120 121                 chronometer.start();// 开始计时122 123                 break;124 125             case R.id.btn_stop:126 127                 chronometer.stop();// 停止计时128 129                 break;130 131             case R.id.btn_base:132 133                 chronometer.setBase(SystemClock.elapsedRealtime());// 复位键134 135                 break;136 137             case R.id.btn_format:138 139                 chronometer.setFormat("显示时间:%s.");// 更改时间显示格式140 141                 break;142 143 144 145 146             default:147 148                 break;149 150             }151 152         }153 154 155 156 157     }158 159 }
第三步:注册权限: <uses-permission android:name="android.permission.VIBRATE" />

更多相关文章

  1. Android(安卓)Timer类的使用
  2. android > Android实现计时与倒计时的几种方法
  3. Android(安卓)Timer类的使用
  4. Android(安卓)Studio - 第四十四期 倒计时
  5. android 9.0通知栏适配,可用通知栏,悬浮通知,震动,提示音,
  6. 浅入浅出Android(012):Android下的计时器
  7. Android(安卓)振动器(Vibrator)系统
  8. android 简单快速 倒计时动画
  9. 系出名门Android(7) - 控件(View)之ZoomControls, Include, Vide

随机推荐

  1. Android(安卓)Matrix详解
  2. android sdk+eclipse+adt 配置与开发
  3. android发送与接收超长短信
  4. android的窗口机制分析------事件处理
  5. 深入Android系统 Binder-3-原理
  6. Android技术积累:开发规范
  7. 【android】发布应用到各大市场
  8. android内部外部存储卡路径的获取
  9. Android之使用picker打开相应的app
  10. Android之NDK开发