国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

簡述Android利用Chronometer實現倒計時功能

2020-02-21 17:30:12
字體:
來源:轉載
供稿:網友

項目需要實現計時器的函數操作方法,雖然計時器可以很容易地實現計時器功能,但它需要控制倒計時,今天武林技術頻道小編為大家帶來簡述Android利用Chronometer實現倒計時功能,希望對你有幫助。

百度了一下方法不少,倒計時的卻沒有,于是用Chronometer封裝了一個倒計時的類,本著開源的精神,分享給大家!

廢話不說了,進入主題

首先xml布局如下:

<com.example.anticlockwisedemo.Anticlockwise  android:id="@+id/id_timer"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:textSize="66sp" /> 

繼承Chronometer封裝好的類:

package com.example.anticlockwisedemo;  import java.text.SimpleDateFormat; import java.util.Date; import android.annotation.SuppressLint; import android.content.Context; import android.util.AttributeSet; import android.widget.Chronometer;   /***  *  * @author 張小_懶 2015/02/07  *  */ @SuppressLint( { "ViewConstructor", "SimpleDateFormat" }) public class Anticlockwise extends Chronometer {  public Anticlockwise(Context context, AttributeSet attrs)  {  super(context, attrs);  // TODO 自動生成的構造函數存根  mTimeFormat = new SimpleDateFormat("mm:ss");  this.setOnChronometerTickListener(listener);  }   private long mTime;  private long mNextTime;  private OnTimeCompleteListener mListener;  private SimpleDateFormat mTimeFormat;   public Anticlockwise(Context context)  {  super(context);   }   /**  * 重新啟動計時  */  public void reStart(long _time_s)  {  if (_time_s == -1)  {  mNextTime = mTime;  } else  {  mTime = mNextTime = _time_s;  }  this.start();  }   public void reStart()  {  reStart(-1);  }   /**  * 繼續計時  */  public void onResume()  {  this.start();  }   /**  * 暫停計時  */  public void onPause()  {  this.stop();  }   /**  * 設置時間格式  *  * @param pattern  * 計時格式  */  public void setTimeFormat(String pattern)  {  mTimeFormat = new SimpleDateFormat(pattern);  }   public void setOnTimeCompleteListener(OnTimeCompleteListener l)  {  mListener = l;  }   OnChronometerTickListener listener = new OnChronometerTickListener()  {  @Override  public void onChronometerTick(Chronometer chronometer)  {  if (mNextTime <= 0)  {  if (mNextTime == 0)  {  Anticlockwise.this.stop();  if (null != mListener)  mListener.onTimeComplete();  }  mNextTime = 0;  updateTimeText();  return;  }   mNextTime--;   updateTimeText();  }  };   /**  * 初始化時間  * @param _time_s  */  public void initTime(long _time_s)  {  mTime = mNextTime = _time_s;  updateTimeText();  }   private void updateTimeText()  {  this.setText(mTimeFormat.format(new Date(mNextTime * 1000)));  }   interface OnTimeCompleteListener  {  void onTimeComplete();  }  } 

效果圖:

程序很簡單,我就不做過多的解釋。

  以上就是武林技術頻道小編為大家帶來的簡述Android利用Chronometer實現倒計時功能,有了以上教程,小編相信android軟件開發對你不是一件難事,希望小編的教程對你有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 竹溪县| 含山县| 安丘市| 简阳市| 永靖县| 黄山市| 金门县| 黄陵县| 安泽县| 福州市| 招远市| 莒南县| 舟曲县| 清镇市| 武城县| 民勤县| 信宜市| 常山县| 清涧县| 皋兰县| 乌拉特后旗| 南漳县| 萝北县| 金寨县| 南靖县| 桐庐县| 万山特区| 牙克石市| 禹州市| 洪湖市| 和龙市| 松溪县| 龙门县| 榆林市| 聂荣县| 定陶县| 万盛区| 旬阳县| 容城县| 桐乡市| 固始县|