Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 計時器(Chronometer)的使用,計時器chronometer

計時器(Chronometer)的使用,計時器chronometer

編輯:關於android開發

計時器(Chronometer)的使用,計時器chronometer


安卓提供了一個計時器組件:Chronometer,該組件extends TextView,因此都會顯示一段文本,但是它顯示的時間是從某個起始時間開始過去了多少時間,它只提供了android:format一個屬性用於指定計時器的計數格式。

Chronometer的用法很簡單,它支持如下用法:

getBase():返回時間。

setBase(long base):設置計時器的起始時間。

start():開始計時。

stop():停止計時。

setFormat(String format):設置顯示時間的格式。

setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener):為計時器綁定監聽事件。

 

下面程序設計了一個一分鐘的計時器。

首先:在XML文件中定義一個Chronomete和Button組件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Chronometer
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/chronometer"
        android:textColor="#ff0303"
        android:textSize="12pt"
        android:layout_gravity="center_horizontal"
        android:focusable="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="啟動"
        android:id="@+id/button"
        android:layout_gravity="center_horizontal" />
</LinearLayout>

其次:通過setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener)函數為計時器綁定監聽事件。程序定義了一個Chronometer組件和Button組件。當用戶單擊Button時開始計時,計時時間為一分鐘。

package happy.chronometer;

import android.os.Bundle;
import android.os.SystemClock;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.Chronometer;

public class MainActivity extends AppCompatActivity {

    Chronometer ch ;
    Button  start ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);
//        獲取計時器組件
        ch=(Chronometer)findViewById(R.id.chronometer);
//        獲取開始組件
        start = (Button)findViewById(R.id.button);
        start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //設置開始計時時間
                ch.setBase(SystemClock.elapsedRealtime());
                //啟動計時器
                ch.start();
            }
        });
        //為計時器綁定監聽事件
        ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener()
        {
            @Override
            public void onChronometerTick(Chronometer ch)
            {
                // 如果從開始計時到現在超過了60s
                if (SystemClock.elapsedRealtime() - ch.getBase() > 60 * 1000)
                {
                    ch.stop();
                    start.setEnabled(true);
                }
            }
        });
    }
}

 最後:我們可以看到如上的效果,其中時間為已經流逝的時間。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved