您的位置:首页 > 移动开发 > Android开发

【Android开发】基本组件-计时器

2015-04-01 15:28 267 查看
计时器(Chronometer)组件可以显示从某个起始时间开始,一共过去了多长时间的文本。由于该组件继承TextView,所以它以文本的相形式显示内容。使用该组件也比较简单,通常只需要一下五个方法:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: