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

凡言者成

凡言者成

2016-02-19 11:00

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

在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://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
android之计时器(Chronometer)的使用以及常用的方法

PPT计时器的制作方法

电脑入门
PPT计时器的制作方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Flash教程:AS代码制作计时器的方法

flash教程
Flash教程:AS代码制作计时器的方法

PowerPoint制作比赛计时器

电脑网络
PowerPoint制作比赛计时器

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Win10如何使用计时器(倒计时)测量时间

服务器
Win10如何使用计时器(倒计时)测量时间

解读javascript的计时器(翻译教程)

Web开发
解读javascript的计时器(翻译教程)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

欢度春节必备应用推荐

欢度春节必备应用推荐

EPub是什么格式

EPub是什么格式
下拉加载更多内容 ↓