计时器来计算每个运动员所消耗的时间等,而在Android系统之中,这种计时的功能就可以使用Chronometer组件,此类的继承结构如下所示:
²
java.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抽屉组件