直播系統app原始碼,自定義可以暫停的倒數計時

zhibo系統開發發表於2023-11-27

直播系統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原始碼,自定義可以暫停的倒數計時,更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2997440/,如需轉載,請註明出處,否則將追究法律責任。

相關文章