zoukankan      html  css  js  c++  java
  • Android倒计时实现

    Android为我们封装好了一个抽象类CountDownTimer,可以实现计时器功能:

       /**
         * 倒数计时器
         */
        private CountDownTimer timer = new CountDownTimer(15 * 60 * 1000, 1000) {
            /**
             * 固定间隔被调用,就是每隔countDownInterval会回调一次方法onTick
             * @param millisUntilFinished
             */
            @Override
            public void onTick(long millisUntilFinished) {
                tv_remaining_time.setText(formatTime(millisUntilFinished));
            }
    
            /**
             * 倒计时完成时被调用
             */
            @Override
            public void onFinish() {
                tv_remaining_time.setText("00:00");
            }
        };
    
        /**
         * 将毫秒转化为 分钟:秒 的格式
         *
         * @param millisecond 毫秒
         * @return
         */
        public String formatTime(long millisecond) {
            int minute;//分钟
            int second;//秒数
            minute = (int) ((millisecond / 1000) / 60);
            second = (int) ((millisecond / 1000) % 60);
            if (minute < 10) {
                if (second < 10) {
                    return "0" + minute + ":" + "0" + second;
                } else {
                    return "0" + minute + ":" + second;
                }
            }else {
                if (second < 10) {
                    return minute + ":" + "0" + second;
                } else {
                    return minute + ":" + second;
                }
            }
        }
    
        /**
         * 取消倒计时
         */
        public void timerCancel() {
            timer.cancel();
        }
    
        /**
         * 开始倒计时
         */
        public void timerStart() {
            timer.start();
        }

    构造方法里需要传入两个参数进去:

    参数1:倒计时的总时间,单位ms

    参数2:倒计时的时间间隔,单位ms

    方法:

    cancel():取消倒计时

    onFinish():当前任务完成的时候回调

    onTick(long millisUnitilFinished):当前任务每完成一次倒计时间隔时间时回调

    start():开始倒计时

          


         更多技术干货,欢迎关注我的公众号:ChaoYoung

              

  • 相关阅读:
    mysql主从延迟判断,监控和问题处理
    oracle备份
    oracle的查询命令
    Appcan 自定义数字加减控件
    PowerDesigner16.5 有用地址
    git远程仓库关联(码云)
    leetcode27.移除元素(双指针法)
    leetcode26.删除排序数组中的重复项(双指针法,顺序表删除)
    leetcode21.合并两个有序链表(链表使用,递归算法)
    leetcode20.有效的括号(hashmap使用,键值匹配)
  • 原文地址:https://www.cnblogs.com/xch-yang/p/7920419.html
Copyright © 2011-2022 走看看