App啟動頁倒計時3秒跳轉(zhuǎn)到App的首頁,這種操作在很多App中都很常見木西。如果需要做一個延時操作呢乐埠?寫一個子線程停留3秒然后執(zhí)行操作,這樣的話需要特別的注意的是UI操作必須放在主線程里,那么還需要轉(zhuǎn)化成主線程枫疆?NO袖裕,使用Handler輕松實(shí)現(xiàn)倒計時和延時操作。
一.啟動頁倒計時詳細(xì)操作
private int duration = 6;
private Handler updateHandler = new Handler() {
@Override
public void dispatchMessage(Message msg) {
super.dispatchMessage(msg);
if (msg.what == 2) {
if (duration > 0) {
duration--;
appStartBinding.jumpButton.setText(duration + "s跳過");
if (duration == 1) {
//用戶自己的操作
}
updateHandler.sendEmptyMessageDelayed(2, 1000);
}
}
}
};
//在需要倒計時的地方執(zhí)行以下代碼
updateHandler.sendEmptyMessage(2);
二.延時操作
使用Handler做延時請求玛界,無需擔(dān)心UI線程是否在主線程
private Handler updateHandler = new Handler() {
@Override
public void dispatchMessage(Message msg) {
super.dispatchMessage(msg);
if (msg.what == 14) {
//用戶自己的操作
}
}
};
//在需要延時操作的地方執(zhí)行以下代碼
/**
* 第一參數(shù):what
* 第二個參數(shù):需要延時的毫秒數(shù)
*/
updateHandler.sendEmptyMessageDelayed(14, 2000);
以上實(shí)現(xiàn)倒計時和延時操作,不要忘記在Activity的onDestroy()方法里移除悼吱。
if (updateHandler != null) {
updateHandler.removeCallbacksAndMessages(null);
}
以上就是Android里簡單實(shí)用的倒計時跳轉(zhuǎn)和延時操作的具體步驟和代碼慎框,實(shí)現(xiàn)倒計時和延時操作有很多種,具體的還是需要看能否滿足自己的需求后添。