第一步:布局文件:

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应用程序组件Content Provider在应用程序之间共享数据的
  2. 【FAQ】Ubuntu环境下ant编译android代码问题
  3. Android(Java) GMT时间转换
  4. 如何获取Android原生代码所有Branchs和Tags
  5. Android系统进程Zygote启动过程的源代码分析(2)
  6. Android之四大组件
  7. Android之——代码混淆

随机推荐

  1. PopupWindow与PopupMenu的用法
  2. Android开源项目发现--- 工具类依赖注入D
  3. android 8.0 wifi-host ap 开关操作
  4. MUI调用自定义插件(Android)
  5. Android kotlin高级特性
  6. android 模拟按键单值/多值输入
  7. android edittxet 设置可点击不可编辑状
  8. Android长按imageview把图片保存到本地
  9. android如何使用menu键
  10. android 7.0 制作ota差分包