Android之计时器(Chronometer)的用法
16lz
2021-01-23
第一步:布局文件:
main.xml代码如下: View Code1 <?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" />
更多相关文章
- Android应用程序组件Content Provider在应用程序之间共享数据的
- 【FAQ】Ubuntu环境下ant编译android代码问题
- Android(Java) GMT时间转换
- 如何获取Android原生代码所有Branchs和Tags
- Android系统进程Zygote启动过程的源代码分析(2)
- Android之四大组件
- Android之——代码混淆