android之计时器(Chronometer)的使用以及常用的方法

2016-02-19 11:00 76 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - 编程语言 】

在Android的SDK中,为我们提供了一个计时器,这个计时器称为Chronometer,我们可以成它为Android的一个组件,同时它也具备自己独有的方法。下面我们举例介绍下这个计时器的使用以及常用的方法。

跟其他UI组件一样,当我们要使用它的时候,在布局文件中对应的位置声明定义计时器的位置与属性。
代码如下:

Chronometer
android:id=”@+id/chronometer”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
/

在程序中使用定义的计时器,并设置显示时间格式。
代码如下:

chronometer = (Chronometer) findViewById(R.id.chronometer);
chronometer.setFormat(“计时时间:(%s)”);

这样程序运行后就会显示以上设定的计时器内容,另外我们在程序中可以通过以下几个常用的计时器方法控制计时器的计时工作。
代码如下:

A、Chronometer.start();//计时开始
B、Chronometer.stop();//暂停计时
C、Chronometer.setBase(SystemClock.elapsedRealtime());//复位计时器,停止计时

Android就是通过这样的一个控件,让我们可以轻松地在程序中实现计时的工作,从而免去复杂的线程与多余的代码编写,节省了大量的开发时间。

Android之计时器(Chronometer)的用法
第一步:布局文件
main.xml代码如下:
代码如下:

?xml version="1.0" encoding="utf-8"?
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
Chronometer
android:id="@+id/myChronometer"
android:layout_width="fill_parent"
android:layout_height="wrap_content" /
LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
Button
android:id="@+id/btn_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始" /
Button
android:id="@+id/btn_stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停止" /
Button
android:id="@+id/btn_base"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="复位" /
Button
android:id="@+id/btn_format"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="格式化" /
/LinearLayout
/LinearLayout

第二步:MainActivity
代码如下:
代码如下:

package net.loonggg.chronometer;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.os.Vibrator;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener;
public class MainActivity extends Activity {
private Vibrator vibrator;
private Chronometer chronometer; // 计时组件
private Button btn_start;
private Button btn_stop;
private Button btn_base;
private Button btn_format;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);// 获取震动服务
chronometer = (Chronometer) findViewById(R.id.myChronometer);
chronometer
.setOnChronometerTickListener(new OnChronometerTickListenerImpl()); // 给计时组件设置舰艇对象
btn_start = (Button) findViewById(R.id.btn_start);
btn_stop = (Button) findViewById(R.id.btn_stop);
btn_base = (Button) findViewById(R.id.btn_base);
btn_format = (Button) findViewById(R.id.btn_format);
btn_start.setOnClickListener(new ButtonClickListener());
btn_stop.setOnClickListener(new ButtonClickListener());
btn_base.setOnClickListener(new ButtonClickListener());
btn_format.setOnClickListener(new ButtonClickListener());
}
public class OnChronometerTickListenerImpl implements // 计时监听事件,随时随地的监听时间的变化
OnChronometerTickListener {
@Override
public void onChronometerTick(Chronometer chronometer) {
String time = chronometer.getText().toString();
if ("00:05".equals(time)) {// 判断五秒之后,让手机震动
vibrator.vibrate(new long[] { 1000, 10, 100, 10 }, 0);// 设置震动周期和是否循环震动,如果不想循环震动把0改为-1
}
}
}
public class ButtonClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_start:
chronometer.start();// 开始计时
break;
case R.id.btn_stop:
chronometer.stop();// 停止计时
break;
case R.id.btn_base:
chronometer.setBase(SystemClock.elapsedRealtime());// 复位键
break;
case R.id.btn_format:
chronometer.setFormat("显示时间:%s.");// 更改时间显示格式
break;
default:
break;
}
}
}
}

第三步:注册权限
代码如下:

uses-permission android:name="android.permission.VIBRATE" /

囧神的世界你不懂,虫哥的生活你没有,只有程序猿的世界大家才知道。程序猿们,为了自己的精彩世界奋斗吧,努力吧!加油……

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1596300.html

延伸阅读
标签: 电脑入门
课件时常会用到时间限制方面的制作,如进入倒计时,练习倒计时等。我们可以在用WPS演示文稿为平台制作时,利用自定义动画中的出现方式,设置每一个对象的延时为1秒来实现,下面以英语口语比赛计时系统为例详细介绍一下制作过程。 一、输入标题 打开WPS演示文稿,选择空演示文稿,版式选为只有标题,在标题文本框中输入英语口语比赛计时系统字...
标签: Web开发
html: 代码如下: !DOCTYPE html html lang="en" head meta charset="utf-8" !-- Always force latest IE rendering engine (even in intranet) & Chrome Frame Remove this if you use the .htaccess -- meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" titleHTML5 Timer for work-relax balance/title meta na...
标签: 电脑入门
最近学校要举办一次英语口语比赛,其中有一个环节是自由演讲,时间为30秒,由选手自己选定主题。领导决定由我来设计一个计时系统,要求能够实时显示选手剩余时间。我决定选用PowerPoint 2003,利用自定义动画中的出现方式,设置每一个对象的延时为1秒来实现,下面我详细介绍一下制作过程。 输入标题 打开PowerPoint 2003,选择空演示文稿,版...
先看效果图 新建文档800x800像素,背景白色,建新层填充黑色,添加图层样式。 效果如下。 建新层,画一个黑色正圆。 添加描边样式。 效果如下。 复制此层,清除图层样式,颜色改为#9c9ba1。 添加蒙版用黑色笔刷涂抹,效果如下。 建新层,画一黑色正圆,添加黑白渐变叠加样式,具体设置不截图了,很容易。...
如何设置PPT演示文稿的倒计时器   在ppt上实现倒计时一是为了追求个性化的PPT;二是为了实用,其方法网上介绍了不少,特别是对于初学者,有些看了甚至会云里雾里的感觉本着简单、实用、大众化、可操作的想法,下面为大家介绍设置PPT演示文稿的倒计时器的方法,希望大家对大家有所帮助。 ①下载一个"PPT倒计时加载宏插件"...

经验教程

85

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部