android 利用CountDownTimer实现时分秒倒计时效果

 android 利用CountDownTimer实现时分秒倒计时效果

相信很多小伙伴在开发过程中都遇到需要计时等操作,但是大部分在选择定时器的时候都是使用Android sdk和java jdk自带的Timer,和TimerTask类比较多,但是Android sdk也给我们提供了一个更加强大的功能类,CountDownTimer.效果如下:android 利用CountDownTimer实现时分秒倒计时效果_第1张图片

来看主要代码:

package com.example.zsh.mycountdowntimerdemo;

import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    
    private TextView mTvCountdowntimer;
    //24小时换算成毫秒
    private int timeStemp = 86400000;
    private CountDownTimer timer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        getCountDownTime();

    }

    private void getCountDownTime() {

        timer = new CountDownTimer(timeStemp, 1000) {
            @Override
            public void onTick(long l) {

                long day = l / (1000 * 24 * 60 * 60); //单位天
                long hour = (l - day * (1000 * 24 * 60 * 60)) / (1000 * 60 * 60); //单位时
                long minute = (l - day * (1000 * 24 * 60 * 60) - hour * (1000 * 60 * 60)) / (1000 * 60); //单位分
                long second = (l - day * (1000 * 24 * 60 * 60) - hour * (1000 * 60 * 60) - minute * (1000 * 60)) / 1000;//单位秒

                mTvCountdowntimer.setText(hour + "小时" + minute + "分钟" + second + "秒");
            }

            @Override
            public void onFinish() {

                //倒计时为0时执行此方法

            }
        };

        timer.start();
    }


    private void initView() {
        mTvCountdowntimer = (TextView) findViewById(R.id.tv_countdowntimer);
    }
}

 

你可能感兴趣的:(android开发)