a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

android之計時器(Chronometer)的使用以及常用的方法

2020-04-11 12:35:55
字體:
來源:轉載
供稿:網友

在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" />

主站蜘蛛池模板: 99re| 日韩一级在线免费观看 | 国产精品二区三区 | 国产ts余喵喵和直男多体位 | 亚洲精品亚洲人成人网 | 99国内精品久久久久久久 | 免费一级欧美在线观看视频 | 一区高清| 久久久久综合狠狠综合日本高清 | 日本久久艹| 蜜桃久久久久久 | 日本在线小视频 | 久久国产一区二区 | 日韩avav| 亚洲 欧美 综合 | 国产成人啪精品午夜在线观看 | 欧美aⅴ一区二区 | 五月婷婷国产 | 国产精品黄色 | 中文字幕第二十六页页 | 国产一级电影网 | 久久精品国产亚 | 欧美成人一级片 | 黄色一级片在线观看 | 国产精品久久久久久 | 日韩久久一区二区 | 国产精品久久久久久久久久 | 三级免费毛片 | 成人在线h | 亚洲高清在线观看 | av影音资源 | 免费的色网站 | 精品一区二区久久 | 亚洲欧美一区二区三区久久 | 欧美激情国产日韩精品一区18 | 羞羞色影院 | 狠狠色狠狠色综合网 | 日本在线观看视频 | 密桃av | 天天干天天操天天舔 | 99精品国产高清一区二区麻豆 |