你好,游客 登录 注册 搜索
背景:
阅读新闻

Android之计时器(Chronometer)的用法 -

[日期:2013-04-16] 来源:  作者: [字体: ]

第一步:布局文件:

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     <Chronometer
15 
16         android:id="@+id/myChronometer"
17 
18         android:layout_width="fill_parent"
19 
20         android:layout_height="wrap_content" />
21 
22 
23 
24 
25     <LinearLayout
26 
27         android:layout_width="fill_parent"
28 
29         android:layout_height="wrap_content"
30 
31         android:orientation="horizontal" >
32 
33 
34 
35 
36         <Button
37 
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         <Button
50 
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         <Button
63 
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         <Button
76 
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         @Override
114 
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" />





收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻