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開發(fā)之滑動(dòng)數(shù)值選擇器NumberPicker用法示例
這篇文章主要介紹了Android開發(fā)之滑動(dòng)數(shù)值選擇器NumberPicker用法,結(jié)合實(shí)例形式分析了Android滑動(dòng)數(shù)值選擇器NumberPicker的功能、相關(guān)函數(shù)、事件監(jiān)聽、界面布局等操作技巧,需要的朋友可以參考下2019-03-03
Android自定義View實(shí)現(xiàn)隨機(jī)驗(yàn)證碼
這篇文章主要介紹了Android自定義View實(shí)現(xiàn)隨機(jī)驗(yàn)證碼的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-07-07
Android View移動(dòng)的六種方法小結(jié)
在android開發(fā)中,經(jīng)常會(huì)遇到一個(gè)view需要它能夠支持滑動(dòng)的需求。下面通過本篇文章給大家介紹android view移動(dòng)的六種方法,對android view移動(dòng)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12
Android Dialog 設(shè)置字體大小的具體方法
這篇文章介紹了Android Dialog 設(shè)置字體大小的具體方法,希望能幫助到有同樣需求的朋友,可能我的方法不是最好的,也希望有朋友指點(diǎn)2013-09-09
Android編程之創(chuàng)建自己的內(nèi)容提供器實(shí)現(xiàn)方法
這篇文章主要介紹了Android編程之創(chuàng)建自己的內(nèi)容提供器實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了Android創(chuàng)建內(nèi)容提供器的原理、步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
實(shí)例講解Android中ViewPager組件的一些進(jìn)階使用技巧
這篇文章主要介紹了Android中ViewPager組件的一些進(jìn)階使用技巧,包括添加標(biāo)題與onPagerChangeListener監(jiān)聽使用等,需要的朋友可以參考下2016-03-03
Android 實(shí)現(xiàn)旋轉(zhuǎn)木馬的音樂效果
大家一定在百度音樂上在線聽過歌,有沒有注意到那個(gè)旋轉(zhuǎn)的唱片,本篇文章主要介紹在Android上如何實(shí)現(xiàn)這樣的功能,有需要的小伙伴可以參考下2016-07-07

