计时器(Chronometer)

来源:互联网 发布:淘宝评论怎么评论内容 编辑:程序博客网 时间:2024/06/06 01:23

计时器(Chronometer):计时器顾名思义就是计时用的。

1、代码

<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <Chronometer <span style="white-space:pre"></span>//设置计时器组件        android:id="@+id/chronomer"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:paddingLeft="200px"/>    <RelativeLayout  <span style="white-space:pre"></span>//定义了一个内嵌的相对布局        android:layout_width="wrap_content"        android:layout_height="wrap_content"        ><Button     android:id="@+id/time_start"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="开始计时"    /><Button     android:id="@+id/time_stop"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="停止计时"    android:layout_toRightOf="@+id/time_start"      /></RelativeLayout></LinearLayout>
MainActivity.java文件的内容。

package com.example.chronometer;import android.app.Activity;import android.app.Service;import android.os.Bundle;import android.os.SystemClock;import android.os.Vibrator;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Chronometer;import android.widget.Chronometer.OnChronometerTickListener;public class MainActivity extends Activity {private Chronometer C = null;private Button butStart = null;private Button butStop = null;private Vibrator V = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.main);//取得震动服务this.V = (Vibrator)super.getApplication().getSystemService(Service.VIBRATOR_SERVICE); this.butStart = (Button)super.findViewById(R.id.time_start);this.butStop = (Button)super.findViewById(R.id.time_stop);this.C = (Chronometer)super.findViewById(R.id.chronomer);//设置时间显示格式this.C.setFormat("当前显示时间:%s。");//给计时器改变时设置监听器this.C.setOnChronometerTickListener(new OnChronometerTickListenerImpl());//给按钮设置单击监听器this.butStart.setOnClickListener(new OnClickListenerImplStart());this.butStop.setOnClickListener(new OnClickListenerImplStop());}private class OnClickListenerImplStart implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubMainActivity.this.C.start();//开始计时}}private class OnClickListenerImplStop implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubMainActivity.this.C.stop();//停止计时}}private class OnChronometerTickListenerImpl implements OnChronometerTickListener {@Overridepublic void onChronometerTick(Chronometer chronometer) {// TODO Auto-generated method stub//获得当前的计时时间并把不是时间表示格式的数据去掉String time = MainActivity.this.C.getText().toString().replaceAll("[^(\\d{2}:\\d{2})]", "");if (("1:00").equals(time)) {//不重复震动,第二个参数是0的话重复震动MainActivity.this.V.vibrate(new long[]{100,100},-1);}}}}



0 0