在Android的SDK中,为我们提供了一个计时器,这个计时器称为Chronometer,我们可以成它为Android的一个组件,同时它也具备自己独有的方法。下面我们举例介绍下这个计时器的使用以及常用的方法。 

跟其他UI组件一样,当我们要使用它的时候,在布局文件中对应的位置声明定义计时器的位置与属性。 

复制代码代码如下:
android:id=”@+id/chronometer” 
android:layout_width=”wrap_content” 
android:layout_height=”wrap_content” 
/> 

在程序中使用定义的计时器,并设置显示时间格式。 
复制代码代码如下:
chronometer = (Chronometer) findViewById(R.id.chronometer); 
chronometer.setFormat(“计时时间:(%s)”); 

这样程序运行后就会显示以上设定的计时器内容,另外我们在程序中可以通过以下几个常用的计时器方法控制计时器的计时工作。 
复制代码代码如下:
A、Chronometer.start();//计时开始 
B、Chronometer.stop();//暂停计时 
C、Chronometer.setBase(SystemClock.elapsedRealtime());//复位计时器,停止计时 

Android就是通过这样的一个控件,让我们可以轻松地在程序中实现计时的工作,从而免去复杂的线程与多余的代码编写,节省了大量的开发时间。 

Android之计时器(Chronometer)的用法  
第一步:布局文件 : 
main.xml代码如下: 
复制代码代码如下:
<?xml version="1.0" encoding="utf-8"?> 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 
android:id="@+id/myChronometer" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" /> 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal" > 
android:id="@+id/btn_start" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="开始" /> 
android:id="@+id/btn_stop" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="停止" /> 
android:id="@+id/btn_base" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="复位" /> 
android:id="@+id/btn_format" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="格式化" /> 
 
 

第二步:MainActivity 
代码如下: 
复制代码代码如下:
package net.loonggg.chronometer; 
import android.app.Activity; 
import android.os.Bundle; 
import android.os.SystemClock; 
import android.os.Vibrator; 
import android.view.View; 
import android.widget.Button; 
import android.widget.Chronometer; 
import android.widget.Chronometer.OnChronometerTickListener; 
public class MainActivity extends Activity { 
private Vibrator vibrator; 
private Chronometer chronometer; // 计时组件 
private Button btn_start; 
private Button btn_stop; 
private Button btn_base; 
private Button btn_format; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);// 获取震动服务 
chronometer = (Chronometer) findViewById(R.id.myChronometer); 
chronometer 
.setOnChronometerTickListener(new OnChronometerTickListenerImpl()); // 给计时组件设置舰艇对象 
btn_start = (Button) findViewById(R.id.btn_start); 
btn_stop = (Button) findViewById(R.id.btn_stop); 
btn_base = (Button) findViewById(R.id.btn_base); 
btn_format = (Button) findViewById(R.id.btn_format); 
btn_start.setOnClickListener(new ButtonClickListener()); 
btn_stop.setOnClickListener(new ButtonClickListener()); 
btn_base.setOnClickListener(new ButtonClickListener()); 
btn_format.setOnClickListener(new ButtonClickListener()); 

public class OnChronometerTickListenerImpl implements // 计时监听事件,随时随地的监听时间的变化 
OnChronometerTickListener { 
@Override 
public void onChronometerTick(Chronometer chronometer) { 
String time = chronometer.getText().toString(); 
if ("00:05".equals(time)) {// 判断五秒之后,让手机震动 
vibrator.vibrate(new long[] { 1000, 10, 100, 10 }, 0);// 设置震动周期和是否循环震动,如果不想循环震动把0改为-1 



public class ButtonClickListener implements View.OnClickListener { 
@Override 
public void onClick(View v) { 
switch (v.getId()) { 
case R.id.btn_start: 
chronometer.start();// 开始计时 
break; 
case R.id.btn_stop: 
chronometer.stop();// 停止计时 
break; 
case R.id.btn_base: 
chronometer.setBase(SystemClock.elapsedRealtime());// 复位键 
break; 
case R.id.btn_format: 
chronometer.setFormat("显示时间:%s.");// 更改时间显示格式 
break; 
default: 
break; 





第三步:注册权限 : 
复制代码代码如下:
 

更多相关文章

  1. Android开发之如何手写代码进行页面布局
  2. Android跳转淘宝商品详情页代码
  3. android通过Intent调用手机图片,音频,视频录音拍照等代码
  4. Android开源项目:微信打飞机游戏源代码
  5. android 仿课程表,时间星期展示选择列表,简单易懂
  6. android中获得系统的时间
  7. android 时间1

随机推荐

  1. Android中隐藏标题栏和状态栏
  2. 阻止dialog消失的方法 (Android(安卓)Pla
  3. android的单元测试
  4. Android(安卓)调用中国气象的webservice
  5. Android中给Activity添加返回键
  6. Android(安卓)studio 032 java Tomcat Se
  7. Android(安卓)--- 图片的特效处理
  8. android SeekBar(带滑动块的进度条)的应
  9. android按键两次退出程序
  10. Android(安卓)kill app Process 结束进程