Android Handler實現(xiàn)閃屏頁倒計時代碼
更新時間:2020年08月21日 11:40:39 作者:AppWhite_Star
這篇文章主要介紹了Android Handler實現(xiàn)閃屏頁倒計時代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
我就廢話不多說了,大家還是直接看代碼吧~
package com.zjx.todayinfomation;
import android.os.Handler;
public class CustomCountDownTimer implements Runnable{
// 1.實時去回調(diào) 這個時候是什么時間 倒計時到幾點 觀察者設計模式
// 2.支持傳入總時間 動態(tài)傳入
// 3.每過一秒 總秒數(shù) -1
// 4.總時間倒計時為0時候 回調(diào)完成狀態(tài)
private int time; // 總時間
private int countDowntime; // 倒計時事件
private IcountDownHandler countDownHandler; // 回調(diào)接口
private final Handler handler; // handler
private boolean isRunning; // 是否允許
/**
* @param time 傳入的總時間
* @param countDownHandler 接口回調(diào)
*/
public CustomCountDownTimer(int time,IcountDownHandler countDownHandler){
handler = new Handler();
this.time = time;
this.countDowntime = time; // 倒計時時間第一次 就是總時間
this.countDownHandler = countDownHandler;
}
@Override
public void run() {
if (isRunning){ // 如果開啟了
if (countDownHandler != null){ // 并且回調(diào)接口不為空 回調(diào)當前秒數(shù)
countDownHandler.onTicker(countDowntime); // countDowntime 第一次進來就是總時間 比如5
}
// 如果當前秒數(shù)為0 回調(diào)完成
if (countDowntime == 0){
cancel();
if (countDownHandler != null){
countDownHandler.onFinish();
}
}else{
// 如果當前秒數(shù)部位0 每次 減少1秒 并且 疫苗后 重新執(zhí)行這個run方法
countDowntime = time--; // 5 4 3 2 1 類似
handler.postDelayed(this,1000);
}
}
}
/**
* 開啟run方法
*/
public void start(){
isRunning = true;
handler.post(this); // 調(diào)用run方法
}
/**
* 跳出循環(huán) 終止run方法
*/
public void cancel(){
isRunning = false;
handler.removeCallbacks(this);
}
/**
* 觀察者 回調(diào)接口
*/
public interface IcountDownHandler{
void onTicker(int time);// 回調(diào)事件 倒計時
void onFinish(); // 回調(diào)完成
}
}
補充知識:android 列表每一個item都加上倒計時
使用recyclerview的問題:當前顯示的view如果滑到看不見再滑回來就會重新倒計時
解決方法是換用listview 使用viewholder復用原理 把倒計時寫在第一次加載時候 這樣就不會出現(xiàn)上述問題
以上這篇Android Handler實現(xiàn)閃屏頁倒計時代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Android高級組件ImageSwitcher圖像切換器使用方法詳解
這篇文章主要為大家詳細介紹了Android高級組件ImageSwitcher圖像切換器的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Android AutoCompleteTextView控件使用實例
AutoCompleteTextView這個控件用于輸入框的自動完成提示,非常適合搜索框等。它本質(zhì)上是個EditText,實際上它也是從EditText繼承的,使用起來也十分簡單2014-04-04
Android開發(fā)之PopupWindow實現(xiàn)彈窗效果
這篇文章主要為大家詳細介紹了Android開發(fā)之PopupWindow實現(xiàn)彈窗效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-09-09
Android網(wǎng)絡訪問之Retrofit使用教程
Retrofit?是一個?RESTful?的?HTTP?網(wǎng)絡請求框架的封裝,網(wǎng)絡請求的工作本質(zhì)上是?OkHttp?完成,而?Retrofit?僅負責?網(wǎng)絡請求接口的封裝2022-12-12

