首页 > 代码库 > 从零开始学android<chronometer计时器组件.三十二.>

从零开始学android<chronometer计时器组件.三十二.>

计时器来计算每个运动员所消耗的时间等,而在Android系统之中,这种计时的功能就可以使用Chronometer组件,此类的继承结构如下所示:
2java.lang.Object
   ? android.view.View
     ? android.widget.TextView
       ? android.widget.Chronometer

常见的方法

1
public Chronometer(Context context)
构造
创建Chronometer对象
2
public long getBase()
普通
设置一个基准时间,可以通过完成
3
public void setFormat(String format)
普通
设置显示格式
4
public long getBase()
普通
返回设置的基准时间
5
public String getFormat()
普通
返回设置的显示格式
6
public void start()
普通
开始计时
7
public void stop()
普通
停止计时
8
public void setOnChronometerTickListener (Chronometer.OnChronometerTickListener listener)
普通
设置计时改变的监听事件


xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="开始" />

    <Button
        android:id="@+id/button3"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/button2"
        android:text="复位" />

    <Button
        android:id="@+id/button2"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/button1"
        android:text="停止" />

    <Button
        android:id="@+id/button4"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="24dp"
        android:text="格式化显示" />

    <Chronometer
        android:id="@+id/chronometer1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/button3"
        android:layout_alignLeft="@+id/button3"
        android:layout_marginBottom="52dp"
        android:textSize="25dp"
        android:text="Chronometer" />

</RelativeLayout>

JAVA文件
package com.example.chronometer;

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;

public class MainActivity extends Activity {
	public Button start;
	public Button stop;
	public Button reset;
	public Button format;
	public Chronometer chronometer;
	ButOperator operator = new ButOperator();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		start = (Button) this.findViewById(R.id.button1);
		stop = (Button) this.findViewById(R.id.button2);
		reset = (Button) this.findViewById(R.id.button3);
		format = (Button) this.findViewById(R.id.button4);
		chronometer=(Chronometer)this.findViewById(R.id.chronometer1);
		start.setOnClickListener(this.operator);
		stop.setOnClickListener(this.operator);
		reset.setOnClickListener(this.operator);
		format.setOnClickListener(this.operator);
		
	}

	class ButOperator implements OnClickListener {

		@Override
		public void onClick(View view) {
			// TODO Auto-generated method stub
			switch (view.getId()) {
			case R.id.button1:
//				开始计时
				MainActivity.this.chronometer.start();
				break;
			case R.id.button2:
//				停止计时
				MainActivity.this.chronometer.stop();
				break;
			case R.id.button3:
//				重置参数
				MainActivity.this.chronometer.setBase(SystemClock.elapsedRealtime());
				break;
			case R.id.button4:
//				格式化数据
				MainActivity.this.chronometer.setFormat("当前日期:%s");
				break;
			default:
				break;
			}
		}

	}
}


下节预报:
SlidingDrawer抽屉组件


从零开始学android<chronometer计时器组件.三十二.>