Android使用CountDownTimer實(shí)現(xiàn)倒數(shù)定時(shí)器效果
實(shí)現(xiàn)倒計(jì)時(shí)的效果
例子:發(fā)送驗(yàn)證碼按鈕
效果圖:

/**
* 倒計(jì)時(shí)
*
* @author admin
*
*/
public class MainActivity extends ActionBarActivity {
private Button tvTime;// 顯示時(shí)間
private MyCountDownTimer myCountDownTimer;// 倒計(jì)時(shí)對象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvTime = (Button) findViewById(R.id.time);
tvTime.setText("發(fā)送驗(yàn)證碼");
tvTime.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
start();
tvTime.setEnabled(false);// 倒計(jì)時(shí)時(shí)不可點(diǎn)擊
}
});
}
/**
* 開始
*
* @param view
*/
public void start() {
long countDownInterval = 1000;// 間隔時(shí)間
long millisInFuture = 20000;// 時(shí)長
myCountDownTimer = new MyCountDownTimer(millisInFuture,
countDownInterval);
myCountDownTimer.start();
}
/**
* 結(jié)束
*
* @param view
*/
public void end() {
if (myCountDownTimer != null) {
myCountDownTimer.cancel();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
end();
}
/**
* 倒計(jì)時(shí)
*
* @author admin
*
*/
private class MyCountDownTimer extends CountDownTimer {
public MyCountDownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
// 可直接更新UI
@Override
public void onTick(long millisUntilFinished) {
tvTime.setText("剩余時(shí)間:" + millisUntilFinished / 1000);// 轉(zhuǎn)化為秒
}
@Override
public void onFinish() {
tvTime.setText("獲取驗(yàn)證碼");
tvTime.setEnabled(true);// 當(dāng)時(shí)間結(jié)束時(shí)才可以點(diǎn)擊
}
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 使用CountDownTimer類輕松實(shí)現(xiàn)倒計(jì)時(shí)功能
- java線程并發(fā)countdownlatch類使用示例
- 詳解Java多線程編程中CountDownLatch阻塞線程的方法
- Android中CountDownTimer倒計(jì)時(shí)器用法實(shí)例
- Java多線程編程之CountDownLatch同步工具使用實(shí)例
- Android 列表倒計(jì)時(shí)的實(shí)現(xiàn)的示例代碼(CountDownTimer)
- Android基于CountDownTimer實(shí)現(xiàn)倒計(jì)時(shí)功能
- Android基于CountDownView的時(shí)間控件擴(kuò)展
- Java CountDownLatch完成異步回調(diào)實(shí)例詳解
- CountDownLatch源碼解析之countDown()
相關(guān)文章
Android仿百度地圖小度語音助手的貝塞爾曲線動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了Android仿百度地圖小度語音助手的貝塞爾曲線動(dòng)畫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
Android自定義view實(shí)現(xiàn)太極效果實(shí)例代碼
這篇文章主要介紹了Android自定義view實(shí)現(xiàn)太極效果實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05
Android繪制旋轉(zhuǎn)動(dòng)畫方法詳解
這篇文章主要介紹了Android如何采用RotateAnimation繪制一個(gè)旋轉(zhuǎn)動(dòng)畫,文中的實(shí)現(xiàn)方法講解詳細(xì),感興趣的小伙伴可以跟隨小編一起試一試2022-01-01
在Android應(yīng)用中實(shí)現(xiàn)離線數(shù)據(jù)同步的步驟詳解
在構(gòu)建 Android 應(yīng)用時(shí),離線數(shù)據(jù)同步是一個(gè)不可或缺的環(huán)節(jié),無論是網(wǎng)絡(luò)狀況不佳,還是用戶處于飛行模式,離線數(shù)據(jù)同步都能讓用戶在無網(wǎng)絡(luò)的情況下繼續(xù)使用應(yīng)用,本文將詳細(xì)介紹如何在 Android 應(yīng)用中實(shí)現(xiàn)離線數(shù)據(jù)同步,需要的朋友可以參考下2024-08-08
Android基于TextView不獲取焦點(diǎn)實(shí)現(xiàn)跑馬燈效果
這篇文章主要介紹了Android基于TextView不獲取焦點(diǎn)實(shí)現(xiàn)跑馬燈效果,結(jié)合實(shí)例形式分析了Android基于TextView實(shí)現(xiàn)跑馬燈的功能與布局相關(guān)技巧,需要的朋友可以參考下2017-02-02
Android中CheckBox復(fù)選框控件使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android中CheckBox復(fù)選框控件的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Android?Jetpack組件中LifeCycle作用詳細(xì)介紹
Jetpack是谷歌在Google?I/O?2017大會(huì)上發(fā)布一套幫助開發(fā)者解決Android架構(gòu)設(shè)計(jì)的方案,而Lifecycle是Jetpack?architecture下的一部分,一起來看一下Lifecycle的使用及原理分析2022-09-09

