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

安卓案例-计时器

2016-12-12 16:45 148 查看
安卓提供了一个计时器的组件:Chronometer ,该组件继承自 TextView ,Chronometer 提供了一个 android:format 属性,用于指定计时器的计时格式。

Chronometer 常用方法

setBase(long base) :设置计时器的起始时间

setFormat(String format):设置显示时间格式

start():开始计时

stop():停止计时

setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener):为计时器绑定事件监听器,当计时器改变时触发该监听器。

本案例效果图如下



布局文件代码如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
tools:context="pub.weber.bym.chronometer.MainActivity">

<Chronometer
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始"
/>
</LinearLayout>


MainActivity 代码如下

public class MainActivity extends AppCompatActivity {

Chronometer ch;
Button start;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取计时器组件
ch = (Chronometer) findViewById(R.id.test);
start = (Button) findViewById(R.id.start);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 设置开始计时时间
ch.setBase(SystemClock.elapsedRealtime());
ch.start();
start.setEnabled(false);
}
});
ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
// 如果开始计时到现在超过20s 停止计时
if (SystemClock.elapsedRealtime() - ch.getBase()> 20*1000){
ch.stop();
start.setEnabled(true);
}
}
});
}
}


程序中用到的
SystemClock
类 是一个获取系统时间、运行时间的工具类。。。。

by web开发者 更多相关内容请访问: http://weber.pub/

本文地址: http://weber.pub/安卓笔记16(案例)-计时器/324.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息