倒計(jì)時(shí)的三種解決方法

1、方法一:

? 利用CountDownTimer類

? //這個(gè)方法中的兩個(gè)參數(shù)第一個(gè)是 倒計(jì)時(shí)的時(shí)長(zhǎng),第二個(gè)是每次減少的時(shí)間

? ? CountDownTimer timer = new CountDownTimer(5000,1000) {

? ? @Override

? ? public void onTick(long millisUntilFinished) {

//donghua_textview展示數(shù)據(jù)的控件

? ? ? ? donghua_textview.setText(millisUntilFinished/1000+"S");

? ? }

//動(dòng)畫結(jié)束時(shí)調(diào)用的方法

? ? @Override

? ? public void onFinish() {

? ? ? ? startActivity(new Intent(DonghuaActivity.this, LoginActivity.class));

? ? }

};

//最后不要忘記調(diào)用start();方法

timer.start();


2、方法二:

? ? //利用Timer類

? ? int mSeconds = 5;

? ? Timer timer = new Timer();

? ? private Handler handler = new Handler() {

? ? ? ? @Override

? ? ? ? public void handleMessage(Message msg) {

? ? ? ? ? ? super.handleMessage(msg);

? ? ? ? ? ? if (msg.what == 1) {

? ? ? ? ? ? ? ? if (mSeconds == 0) {

? ? ? ? ? ? ? ? ? ? timer.cancel();

? ? ? ? ? ? ? ? ? ? startActivity(new Intent(DonghuaActivity.this, LoginActivity.class));

? ? ? ? ? ? ? ? } else if (mSeconds > 0) {

? ? ? ? ? ? ? ? ? ? donghua_textview.setText(mSeconds + "S");

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? };

? ? ? ? TimerTask task = new TimerTask() {

? ? ? ? ? ? @Override

? ? ? ? ? ? public void run() {

? ? ? ? ? ? ? ? mSeconds--;

? ? ? ? ? ? ? ? handler.sendEmptyMessage(1);

? ? ? ? ? ? }

? ? ? ? };

//調(diào)用timer類中的schedule方法

? ? ? ? timer.schedule(task, 1000, 1000);


3、方法三:


? 利用handler發(fā)送延遲線程

? int mSeconds = 5;

? Handler handler =? new Handler();


? private void changeSeconds() {

? ? ? ? mSeconds--;

? ? ? ? handler.postDelayed(new Runnable() {

? ? ? ? ? ? @Override

? ? ? ? ? ? public void run() {

? ? ? ? ? ? ? ? main_textview.setText(mSeconds+"S");

? ? ? ? ? ? ? ? if(mSeconds==0){

//在這里我們開啟動(dòng)畫不做跳轉(zhuǎn)

? ? ? ? ? ? ? ? ? ? initDonghua();

? ? ? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? ? ? changeSeconds();

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? },1000);

? ? }

//初始化動(dòng)畫

? private void initDonghua() {

? ? ? ? Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim);

? ? ? ? animation.setAnimationListener(this);

? ? ? ? main_textview.startAnimation(animation);

? ? }

? ? private void initView() {

? ? ? ? main_textview = (TextView) findViewById(R.id.main_textview);

? ? }

? ? @Override

? ? public void onAnimationStart(Animation animation) {

? ? }

? ? @Override

? ? public void onAnimationEnd(Animation animation) {

//在動(dòng)畫結(jié)束的時(shí)候進(jìn)行跳轉(zhuǎn)

? ? ? ? Intent intent = new Intent(MainActivity.this, SecondActivity.class);

? ? ? ? startActivity(intent);

? ? }

? ? @Override

? ? public void onAnimationRepeat(Animation animation) {

? ? }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,377評(píng)論 0 17
  • 2017年5月17日 Kylin_Wu 標(biāo)注(★☆)為考綱明確給出考點(diǎn)(必考) 常見(jiàn)手機(jī)系統(tǒng)(★☆) And...
    Azur_wxj閱讀 1,964評(píng)論 0 10
  • 一個(gè)微風(fēng)習(xí)習(xí)的下午,一個(gè)人,一臺(tái)相機(jī) 生活,即使再簡(jiǎn)單也可以很美好
    LY丶Smile閱讀 384評(píng)論 0 2
  • 第三十九回,甘寧射死黃祖,孫權(quán)棄江夏回江東。 東吳現(xiàn)今屯兵柴桑,劉表請(qǐng)劉備過(guò)來(lái)幫忙。諸葛亮囑咐劉備不可答應(yīng)征討江東...
    楚歌兒閱讀 535評(píng)論 0 0
  • 牛郎織女,男耕女織,多么美好的情景! 美好的憧憬,代表著人們對(duì)美好生活的向往! 人們對(duì)美好生活的向往,誕生了乞巧節(jié)...
    研究說(shuō)明書閱讀 253評(píng)論 0 0

友情鏈接更多精彩內(nèi)容