直播系统app源码,自定义可以暂停的倒计时

发布时间 2023-11-27 14:13:40作者: 云豹科技-苏凌霄

直播系统app源码,自定义可以暂停的倒计时

用到的抽象类:

 


public abstract class TimerListener {
    /**
     * 当倒计时开始
     */
   public void onStart(){
   }
    /**
     * 当倒计时恢复暂停
     */
   public void onResume(){
   }
    /**
     * 当倒计时暂停
     */
   public void onPause(){
   }
    /**
     * 当倒计时结束
     */
    public void onFinish(){
    }
    /**
     * 当倒计时取消
     */
    public void onCancel(){
    }
    /**倒计时进行中
     * @param millisUntilFinished 剩余时间
     */
    public abstract void onTick(long millisUntilFinished);
}
 

使用示例

使用比较简单,这里做个简单的 demo。

 


class CountDownActivity: AppCompatActivity(R.layout.activity_countdown) {
    //初始化倒计时相关
    private val mLTime by lazy {
        LCountDownTimer(9*1000 + 100, 1000)
    }
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        btnCountdownStart.setOnClickListener {
            mLTime.start()
        }
        btnCountdownPause.setOnClickListener {
            mLTime.pause()
        }
        btnCountdownResume.setOnClickListener {
            mLTime.resume()
        }
        btnCountdownCancel.setOnClickListener {
            mLTime.cancel()
        }
        btnCountdownStart2.setOnClickListener {
            mLTime.start()
        }
        //时间的监听
        mLTime.setCountDownListener(object :TimerListener(){
            override fun onTick(millisUntilFinished: Long) {
                Log.e(TAG, "onTick: $millisUntilFinished");
                tvCountDownTime.text = "倒计时: ${millisUntilFinished/1000}"
            }
            override fun onStart() {
                super.onStart()
                Log.e(TAG, "onStart: ");
            }
            override fun onResume() {
                super.onResume()
                Log.e(TAG, "onResume: ");
            }
            override fun onPause() {
                super.onPause()
                Log.e(TAG, "onPause: ");
            }
            override fun onFinish() {
                super.onFinish()
                Log.e(TAG, "onFinish: ");
                tvCountDownTime.text = "倒计时结束"
            }
            override fun onCancel() {
                super.onCancel()
                Log.e(TAG, "onCancel: ");
                tvCountDownTime.text = "倒计时取消"
            }
        })
    }
    override fun onDestroy() {
        super.onDestroy()
        mLTime.cancel()
    }
}

 

 以上就是 直播系统app源码,自定义可以暂停的倒计时,更多内容欢迎关注之后的文章