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

2016-02-19 11:00 72 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" /

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

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

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

延伸阅读
标签: 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。 添加蒙版用黑色笔刷涂抹,效果如下。 建新层,画一黑色正圆,添加黑白渐变叠加样式,具体设置不截图了,很容易。...
PS绘制IOS7风格倒数计时器 这篇教程PS鼠绘学习者们使用PS绘制IOS7风格倒数计时器,教程严格来说算是一个ICON制作教程吧,教程难度一般 我们先来看看最终的效果图吧: 图00 具体的绘制步骤如下: 步骤 1 打开Photoshop,新建画布,尺寸730像素×410像素。然后我们通过标志工具,定位画布从的水平和垂直中...

经验教程

929

收藏

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