最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android使用CountDownTimer實(shí)現(xiàn)倒計時效果

 更新時間:2016年09月02日 11:38:21   作者:qq_20785431  
這篇文章主要為大家詳細(xì)介紹了Android使用CountDownTimer實(shí)現(xiàn)倒計時效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在開發(fā)中會經(jīng)常用到倒計時這個功能,包括給手機(jī)發(fā)送驗證碼等等,之前我的做法都是使用Handler + Timer + TimerTask來實(shí)現(xiàn),現(xiàn)在發(fā)現(xiàn)了這個類,果斷拋棄之前的做法,相信還是有很多人和我一樣一開始不知道Android已經(jīng)幫我們封裝好了一個叫CountDownTimer的類。

從字面上就可以看出來它叫倒數(shù)計時器又稱定時器或計時器,采用Handler的方式實(shí)現(xiàn),將后臺線程的創(chuàng)建和Handler隊列封裝而成。
看了一下源碼,發(fā)現(xiàn)這個類的調(diào)用還蠻簡單,只有四個方法:

(1)public abstract void onTick(long millisUntilFinished);
固定間隔被調(diào)用

(2)public abstract void onFinish();
倒計時完成時被調(diào)用

(3)public synchronized final void cancel():
取消倒計時,當(dāng)再次啟動會重新開始倒計時

(4)public synchronized final CountDownTimer start():
啟動倒計時

在這里可以看到前面兩個是抽象方法,需要重寫。

簡單看一下代碼:

package com.per.countdowntimer;

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.TextView;


public class MainActivity extends Activity {
 private TextView mTvShow;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  mTvShow = (TextView) findViewById(R.id.show);
 }

 /**
  * 取消倒計時
  * @param v
  */
 public void oncancel(View v) {
  timer.cancel();
 }

 /**
  * 開始倒計時
  * @param v
  */
 public void restart(View v) {
  timer.start();
 }

 private CountDownTimer timer = new CountDownTimer(10000, 1000) {

  @Override
  public void onTick(long millisUntilFinished) {
   mTvShow.setText((millisUntilFinished / 1000) + "秒后可重發(fā)");
  }

  @Override
  public void onFinish() {
   mTvShow.setEnabled(true);
   mTvShow.setText("獲取驗證碼");
  }
 };
}

順帶附上XML布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:background="@android:color/white"
 android:orientation="vertical"
 android:padding="16dp">

 <TextView
  android:id="@+id/show"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/hello_world" />

 <Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_marginTop="10dp"
  android:onClick="restart"
  android:text="取消" />

 <Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_marginTop="10dp"
  android:onClick="oncancel"
  android:text="結(jié)束" />

</LinearLayout>

最后說明一下:
CountDownTimer timer = new CountDownTimer(10000, 1000):以毫秒為單位,第一個參數(shù)是指從開始調(diào)用start()方法到倒計時完成的時候onFinish()方法被調(diào)用這段時間的毫秒數(shù),也就是倒計時總的時間;第二個參數(shù)表示間隔多少毫秒調(diào)用一次 onTick方法,例如間隔1000毫秒。
在調(diào)用的時候直接使用timer.start();

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android高仿2048小游戲?qū)崿F(xiàn)代碼

    Android高仿2048小游戲?qū)崿F(xiàn)代碼

    這篇文章主要介紹了Android高仿2048小游戲?qū)崿F(xiàn)代碼的相關(guān)資料,非常不錯具有一定的參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • Android通知欄前臺服務(wù)的實(shí)現(xiàn)

    Android通知欄前臺服務(wù)的實(shí)現(xiàn)

    這篇文章主要介紹了Android通知欄前臺服務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 深入理解Android中Scroller的滾動原理

    深入理解Android中Scroller的滾動原理

    今天給大家講解的是Scroller類的滾動實(shí)現(xiàn)原理,可能很多朋友不太了解該類是用來干嘛的,但是研究Launcher的朋友應(yīng)該對他很熟悉,Scroller類是滾動的一個封裝類,可以實(shí)現(xiàn)View的平滑滾動效果,而我們今天就來探究一下為什么Scroller能夠?qū)崿F(xiàn)平滑滾動。
    2016-08-08
  • Andriod 自定義控件之音頻條

    Andriod 自定義控件之音頻條

    這篇文章主要介紹了Andriod 自定義控件之音頻條的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • Android實(shí)現(xiàn)讀取掃碼槍內(nèi)容(條形碼)

    Android實(shí)現(xiàn)讀取掃碼槍內(nèi)容(條形碼)

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)讀取掃碼槍內(nèi)容、條形碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • ExpandableListView實(shí)現(xiàn)簡單二級列表

    ExpandableListView實(shí)現(xiàn)簡單二級列表

    這篇文章主要為大家詳細(xì)介紹了ExpandableListView實(shí)現(xiàn)簡單二級列表,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Android開發(fā)實(shí)現(xiàn)自定義新聞加載頁面功能實(shí)例

    Android開發(fā)實(shí)現(xiàn)自定義新聞加載頁面功能實(shí)例

    這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)自定義新聞加載頁面功能,結(jié)合具體實(shí)例形式分析了Android界面加載及頁面布局相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • Android WebView userAgent 設(shè)置為桌面UA實(shí)例

    Android WebView userAgent 設(shè)置為桌面UA實(shí)例

    這篇文章主要介紹了Android WebView userAgent 設(shè)置為桌面UA實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Android自定義實(shí)現(xiàn)羅盤視圖詳解

    Android自定義實(shí)現(xiàn)羅盤視圖詳解

    在開發(fā)Android應(yīng)用時,自定義視圖是一個非常重要的技能,本文將介紹如何創(chuàng)建一個自定義的羅盤視圖,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • Android自定義組件獲取本地圖片和相機(jī)拍照圖片

    Android自定義組件獲取本地圖片和相機(jī)拍照圖片

    這篇文章主要為大家詳細(xì)介紹了Android自定義組件獲取本地圖片和相機(jī)拍照圖片的相關(guān)資料,非常炫酷的效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評論

盐城市| 桂平市| 监利县| 佛学| 怀化市| 蒲城县| 衡南县| 石首市| 尤溪县| 揭西县| 游戏| 诏安县| 红原县| 钟祥市| 苍溪县| 屏边| 维西| 新野县| 东源县| 凌云县| 濉溪县| 南召县| 开原市| 高雄市| 博客| 若尔盖县| 长子县| 蓬安县| 博兴县| 景洪市| 重庆市| 青冈县| 乌恰县| 通州市| 长白| 开鲁县| 炎陵县| 南康市| 讷河市| 敦煌市| 昔阳县|