以前我們實現乙個倒計時功能是如何實現的呢?一般都是建立乙個執行緒來通過訊息處理實現更新介面,即handler handler=new handler()}};
配合new thread(new runnable()
} catch (interruptedexception e)
}}).start();
但現在並不是用它實現,有更簡單的方法,人嘛就是要學會偷懶,現在新認識乙個類countdowntimer。它只要呼叫
new countdowntimer(30000,1000)
@override
public void onfinish()
}.start();即可實現倒計時。
主要是重寫ontick和onfinsh這兩個方法,onfinish()中的**是計時器結束的時候要做的事情;ontick(long m)中的**是你倒計時開始時要做的事情,引數m是直到完成的時間,構造方法兩個引數中,前者是倒計的時間數,後者是倒計每秒中間 的間隔時間,都是以毫秒為單位。例如要倒計時30秒,每秒中間間隔時間是1秒,兩個引數可以這樣寫 countdowntimer(30000,1000) 。 值得注意的一點是ontick方法是上鎖的(synchronized),也就是說要是上一次呼叫未完成,則不會啟動。這個實現相應的執行倒計時間隔相比顯著。
將後台執行緒的建立和handler佇列封裝成為了乙個方便的類呼叫。省去自己建立執行緒以及handler處理,這便是此類的核心。
Android倒計時控制項
專案有乙個倒計時特賣的需求 具體 如下 import android.content.context import android.util.attributeset import android.widget.textview public class timertextview extends ...
Android 時間倒計時
android時間倒計時在網上一搜就一堆,而且也經常用到。備份一下,以便下次直接使用 1 首先我建立乙個介面,為什麼要建立乙個介面呢?因為我是建立了乙個類繼承countdowntimer。這樣做的意義就是不用每次 需要用到的倒計時的時候不需要在activity裡面建立直接呼叫就可以了。public ...
倒計時方法
前幾天,公司新來的小後台讓我給他乙個倒計時的方法,由於忙專案也沒有給他好好整理,就胡亂寫了乙個,讓他用。後來他問我有木有blog,我說木有,好像有點鄙視我的眼光 好吧,再次blog 根據id獲取節點 method id param string return object function id s...