Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android基礎之——CountDownTimer類,輕松實現倒計時功能

Android基礎之——CountDownTimer類,輕松實現倒計時功能

編輯:關於Android編程

在發現這個類之前,一直是用的handler,子線程發消息,UI線程進行倒計時的顯示工作。前幾天在做一個倒計時顯示的時候發現了這個類,用起來很方便

翻看了下源碼,內部已經幫我們實現了handler的子線程操作

\


CountDownTimer這個類用起來很簡單,兩個參數,幾句代碼搞定,如下:

<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:java;">CountDownTimer(long millisInFuture, long countDownInterval)


構造函數有兩個參數,第一個millisInFuture是指要倒計時的總時間,單位是long ms,第二個參數countDownInterval是指倒計時的頻率,是一次倒計時1s 還是一次倒計時2s

知道這兩個參數的意思那就很好辦了,new一個CountDownTimer對象就會生成兩個回調函數

public void onTick(long millisUntilFinished) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void onFinish() {
				// TODO Auto-generated method stub
				
			}

第一個方法 就是在倒計時的時候調用的,每倒計時一次要進行什麼操作,就可以放在這裡面做,一般是對UI線程進行一些操作,比如對文本進行更改,達到倒計時的效果

第二個方法是倒計時完成後調用,倒計時完成需要進行什麼操作都可以寫在裡面。

當然,最後一定要記得start() 否則線程不會開始

全部代碼:

public class MainActivity extends Activity {

	private TextView tv;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		tv = (TextView) findViewById(R.id.tv);
		
		/** 倒計時60秒,一次1秒 */
		CountDownTimer timer = new CountDownTimer(60*1000, 1000) {
			@Override
			public void onTick(long millisUntilFinished) {
				// TODO Auto-generated method stub
				tv.setText("還剩"+millisUntilFinished/1000+"秒");
			}
			
			@Override
			public void onFinish() {
				tv.setText("倒計時完成了");
			}
		}.start();
	}

}

效果圖:


\


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved