计时器(Chronometer)组件可以显示从某个起始时间开始,一共过去了多长时间的文本。由于该组件继承TextView,所以它以文本的相形式显示内容。使用该组件也比较简单,通常只需要一下五个方法:
1.setBase():用于设定计时器的起始时间
2.setFormat():用于设定显示时间的格式
3.start():用于指定计时开始
4.stop():用于指定计时结束
5.setOnChronometerTickListener():用于为计时器绑定事件监听器,当计时器改变时触发该监听器。
转载请注明出处:http://blog.csdn.net/acmman/article/details/44807639
1.setBase():用于设定计时器的起始时间
2.setFormat():用于设定显示时间的格式
3.start():用于指定计时开始
4.stop():用于指定计时结束
5.setOnChronometerTickListener():用于为计时器绑定事件监听器,当计时器改变时触发该监听器。
下面用一个具体示例说明计时器的应用:
效果:
实现方法:
res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#FFFFFF">
<TextView android:text="计时器"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Chronometer android:id="@+id/chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="chronometer"/>
</LinearLayout>
MainActivity:
package com.example.test;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener;
import android.widget.CompoundButton.OnCheckedChangeListener;
public class MainActivity extends Activity {
private OnCheckedChangeListener checkBox_listener;
private int year,month,day,hour,minute;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取计时器组件
final Chronometer ch=(Chronometer)findViewById(R.id.chronometer);
//设置起始时间(elapsedRealtime是从开机到现在的毫秒数)
ch.setBase(SystemClock.elapsedRealtime());
ch.setFormat("已用时间:%s");//设置时间显示格式
ch.start();//计时器启动
//添加监听器
ch.setOnChronometerTickListener(new OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
if(SystemClock.elapsedRealtime()-ch.getBase()>=10000){
ch.stop();//停止计时器
}
}
});
}
}
转载请注明出处:http://blog.csdn.net/acmman/article/details/44807639