Android開(kāi)發(fā)實(shí)現(xiàn)的計(jì)時(shí)器功能示例
本文實(shí)例講述了Android開(kāi)發(fā)實(shí)現(xiàn)的計(jì)時(shí)器功能。分享給大家供大家參考,具體如下:
效果圖:
布局:
三個(gè)按鈕 加上一個(gè)Chronometer
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:orientation="vertical" android:gravity="center_horizontal"> <Chronometer android:id="@+id/test" android:textSize="25pt" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="開(kāi)始" android:layout_weight="1"/> <Button android:id="@+id/pause" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="暫停" android:layout_weight="1"/> <Button android:id="@+id/go_on" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="繼續(xù)" android:layout_weight="1"/> </LinearLayout> </LinearLayout>
實(shí)現(xiàn):
四個(gè)監(jiān)聽(tīng)事件 三個(gè)按鈕 一個(gè)計(jì)時(shí)器
package com.example.a30797.androidtest; import android.os.SystemClock; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Chronometer; public class MainActivity extends AppCompatActivity { Chronometer ch ; Button start ; Button pause ; Button restart ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲取計(jì)時(shí)器組件 ch = (Chronometer) findViewById(R.id.test); //獲取開(kāi)始按鈕 start = (Button) findViewById(R.id.start) ; //暫停計(jì)時(shí)按鈕 pause = (Button) findViewById(R.id.pause); //繼續(xù)計(jì)時(shí)按鈕 restart = (Button) findViewById(R.id.go_on); start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //設(shè)置開(kāi)始計(jì)時(shí)時(shí)間 ch.setBase(SystemClock.elapsedRealtime() ); //啟動(dòng)計(jì)時(shí)器 ch.start(); pause.setEnabled(true); restart.setEnabled(false); start.setEnabled(false); } }); //暫停按鈕監(jiān)聽(tīng)器 pause.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { start.setText("重新開(kāi)始"); ch.stop(); start.setEnabled(true); restart.setEnabled(true); pause.setEnabled(false); } }); //暫停按鈕監(jiān)聽(tīng)器 restart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { start.setText("重新開(kāi)始"); ch.start(); start.setEnabled(true); pause.setEnabled(true); restart.setEnabled(false); } }); //為Chronomter綁定事件監(jiān)聽(tīng)器 ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { @Override public void onChronometerTick(Chronometer chronometer) { //如果計(jì)時(shí)到現(xiàn)在超過(guò)了一小時(shí)秒 if ( SystemClock.elapsedRealtime() - ch.getBase() > 3600 * 1000) { ch.stop(); start.setEnabled(true); restart.setEnabled(false); pause.setEnabled(false); } } }); } }
PS:這里再為大家推薦幾款相關(guān)的在線工具供大家參考:
在線秒表工具:
http://tools.jb51.net/bianmin/miaobiao
Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android日期與時(shí)間操作技巧總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android DragVideo實(shí)現(xiàn)播放視頻時(shí)任意拖拽的方法
這篇文章主要介紹了Android DragVideo實(shí)現(xiàn)播放視頻時(shí)任意拖拽的方法的相關(guān)資料,一種在播放視頻時(shí),能夠拖拽的方案,需要的朋友可以參考下2016-12-12Android編程實(shí)現(xiàn)Toast自定義布局簡(jiǎn)單示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)Toast自定義布局的方法,結(jié)合簡(jiǎn)單實(shí)例形式分析了Toast自定義布局的實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-02-02Android基于ViewPager實(shí)現(xiàn)類(lèi)似微信頁(yè)面切換效果
這篇文章主要介紹了Android基于ViewPager實(shí)現(xiàn)類(lèi)似微信頁(yè)面切換效果,通過(guò)Fragment適配器實(shí)現(xiàn)頁(yè)面切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Android如何實(shí)現(xiàn)接收和發(fā)送短信
這篇文章主要為大家詳細(xì)介紹了Android如何實(shí)現(xiàn)接收和發(fā)送短信,具有一定的實(shí)用性,感興趣的小伙伴們可以參考一下2016-08-08Android的八種對(duì)話框的實(shí)現(xiàn)代碼示例
本篇文章主要介紹了Android的八種對(duì)話框的實(shí)現(xiàn)代碼示例,這里整理了詳細(xì)的代碼,非常具有實(shí)用價(jià)值,有需要的小伙伴可以參考下。2017-09-09Android實(shí)戰(zhàn)教程第四篇之簡(jiǎn)單實(shí)現(xiàn)短信發(fā)送器
這篇文章主要為大家詳細(xì)介紹了Android實(shí)戰(zhàn)教程第四篇之簡(jiǎn)單實(shí)現(xiàn)短信發(fā)送器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11DCloud的native.js調(diào)用系統(tǒng)分享實(shí)例Android版代碼
本文為大家分享了DCloud的native.js如何調(diào)用系統(tǒng)分享功能Android版的實(shí)例代碼,直接拿來(lái)就用2018-09-09