在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" />
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
大胆人体色综合|
久久人人爽人人爽人人片av高清|
欧美日韩精品在线播放|
91久久夜色精品国产网站|
一级做a爰片久久毛片美女图片|
中文字幕亚洲情99在线|
日韩二区三区在线|
日本人成精品视频在线|
亚洲成人在线网|
久久99青青精品免费观看|
国产精品视频不卡|
亚洲伊人第一页|
亚洲国产成人91精品|
欧美一级电影免费在线观看|
国产有码一区二区|
伊人精品在线观看|
在线观看久久久久久|
久久久在线观看|
欧美裸体xxxxx|
精品在线欧美视频|
亚洲自拍偷拍在线|
伊人av综合网|
欧美国产日韩一区二区在线观看|
成人网在线免费看|
裸体女人亚洲精品一区|
xvideos成人免费中文版|
亚洲一区制服诱惑|
日韩国产在线播放|
中文欧美日本在线资源|
欧美专区第一页|
久久久成人精品|
国产午夜精品免费一区二区三区|
国产精品久久久久久久久久三级|
欧美一区视频在线|
日韩有码在线电影|
国产免费成人av|
精品国产精品自拍|
亚洲精品第一国产综合精品|
九九久久久久99精品|
亚洲精品国偷自产在线99热|
久久九九亚洲综合|
影音先锋欧美精品|
国内精品在线一区|
亚洲最大激情中文字幕|
国产欧美日韩亚洲精品|
欧美日韩成人在线视频|
久久亚洲国产成人|
欧美午夜精品在线|
亚洲性视频网址|
…久久精品99久久香蕉国产|
久久久999成人|
欧美午夜精品在线|
亚洲欧洲午夜一线一品|
91精品久久久久久久久不口人|
国产一区私人高清影院|
一级做a爰片久久毛片美女图片|
亚洲人成网站免费播放|
亚洲欧美综合精品久久成人|
中文字幕综合在线|
精品国产一区二区三区在线观看|
538国产精品一区二区免费视频|
国产精品福利在线观看网址|
亚洲午夜未删减在线观看|
91天堂在线观看|
日韩av在线资源|
555www成人网|
欧美日韩精品在线|
韩剧1988免费观看全集|
久久中文字幕一区|
国产精品视频在线观看|
最近中文字幕日韩精品|
欧美与黑人午夜性猛交久久久|
亚洲少妇激情视频|
亚洲国产精品人久久电影|
理论片在线不卡免费观看|
欧美视频中文在线看|
日韩av大片免费看|
国内成人精品视频|
久久久久久久久久久久av|
91精品久久久久久久|
国产精品网站大全|
国产69精品99久久久久久宅男|
国产精品∨欧美精品v日韩精品|
中文字幕在线看视频国产欧美在线看完整|
欧美日韩在线视频首页|
亚洲系列中文字幕|
欧美福利视频在线|
欧美在线亚洲一区|
亚洲三级免费看|
92裸体在线视频网站|
久久人人爽人人爽人人片av高清|
亚洲free性xxxx护士hd|
久久久亚洲福利精品午夜|
精品亚洲一区二区三区四区五区|
91在线中文字幕|
欧美日韩美女视频|
米奇精品一区二区三区在线观看|
91美女片黄在线观|
色悠悠久久久久|
欧美成人免费视频|
日韩有码在线观看|
国产精品va在线|
最近2019好看的中文字幕免费|
国产又爽又黄的激情精品视频|
高清欧美一区二区三区|
欧美成人午夜影院|
日韩一区二区福利|
色yeye香蕉凹凸一区二区av|
欧美国产日韩视频|
日本不卡视频在线播放|
亚洲a中文字幕|
国产97在线亚洲|
欧美精品在线免费|
日本中文字幕不卡免费|
亚洲韩国日本中文字幕|
大荫蒂欧美视频另类xxxx|
国产精品久久久久久久久久|
97精品免费视频|
欧美成人免费在线观看|
国产91免费观看|
亚洲japanese制服美女|
欧美在线亚洲一区|
国产91精品久久久|
国产99久久精品一区二区 夜夜躁日日躁|
日韩电影免费在线观看|
欧日韩不卡在线视频|
久久久精品中文字幕|
国产精品久久久久久久久久99|
亚洲一品av免费观看|
中文字幕久热精品在线视频|
亚洲国产日韩欧美在线99|
亚洲高清一二三区|
欧美精品一区二区免费|
性欧美暴力猛交69hd|
国产精品久久精品|
热久久视久久精品18亚洲精品|
91网站在线看|
91精品久久久久久久|
色婷婷久久av|
在线精品播放av|
国产v综合ⅴ日韩v欧美大片|
欧美老少做受xxxx高潮|
日韩欧美成人区|
日韩少妇与小伙激情|
精品露脸国产偷人在视频|
亚洲欧美在线第一页|
亲子乱一区二区三区电影|
国产乱人伦真实精品视频|
欧美一级淫片aaaaaaa视频|
国内外成人免费激情在线视频网站|
国产一区二区三区在线观看视频|
色偷偷888欧美精品久久久|
91精品视频免费看|
亚洲免费电影在线观看|
欧美三级欧美成人高清www|
亚洲在线观看视频|
97久久精品人搡人人玩|
日韩欧美成人精品|
xvideos亚洲|
97在线视频一区|
4438全国成人免费|
国产成人精品久久二区二区|
国产99久久精品一区二区 夜夜躁日日躁|
97视频国产在线|