您好,登錄后才能下訂單哦!
這篇文章給大家介紹Android中怎么實(shí)現(xiàn)倒計(jì)時(shí),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
CountDownTimer這個(gè)類(lèi),實(shí)現(xiàn)了倒計(jì)時(shí)的功能。將后臺(tái)線程的創(chuàng)建和Handler隊(duì)列封裝成一個(gè)方便的類(lèi)調(diào)用。
這個(gè)類(lèi)比較簡(jiǎn)單,只有四個(gè)方法:onTick,onFinsh、cancel和start。其中前面兩個(gè)是抽象方法,所以要重寫(xiě)一下。
下面是官方給的一個(gè)小例子:
new CountdownTimer(30000, 1000) { public void onTick(long millisUntilFinished) { mTextField.setText("seconds remaining: " + millisUntilFinished / 1000); } public void onFinish() { mTextField.setText("done!"); } }.start();
ackage com.yydcdut.daojishi; import android.os.Bundle; import android.os.CountDownTimer; import android.app.Activity; import android.view.Menu; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private MyCount mc; private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);tv = (TextView)findViewById(R.id.show); mc = new MyCount(30000, 1000); mc.start(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } /*定義一個(gè)倒計(jì)時(shí)的內(nèi)部類(lèi)*/ class MyCount extends CountDownTimer { public MyCount(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } @Override public void onFinish() { tv.setText("finish"); } @Override public void onTick(long millisUntilFinished) { tv.setText("請(qǐng)等待30秒(" + millisUntilFinished / 1000 + ")..."); Toast.makeText(MainActivity.this, millisUntilFinished / 1000 + "", Toast.LENGTH_LONG).show();//toast有顯示時(shí)間延遲 } } }
主要是重寫(xiě)onTick和onFinsh這兩個(gè)方法,onFinish()中的代碼是計(jì)時(shí)器結(jié)束的時(shí)候要做的事情;onTick(Long m)中的代碼是你倒計(jì)時(shí)開(kāi)始時(shí)要做的事情,參數(shù)m是直到完成的時(shí)間,構(gòu)造方法MyCount()中的兩個(gè)參數(shù)中,前者是倒計(jì)的時(shí)間數(shù),后者是倒計(jì)每秒中間的間隔時(shí)間,都是以毫秒為單位。例如要倒計(jì)時(shí)30秒,每秒中間間隔時(shí)間是1秒,兩個(gè)參數(shù)可以這樣寫(xiě)MyCount(30000,1000)。 將后臺(tái)線程的創(chuàng)建和Handler隊(duì)列封裝成為了一個(gè)方便的類(lèi)調(diào)用。
關(guān)于Android中怎么實(shí)現(xiàn)倒計(jì)時(shí)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。