App啓動頁倒計時3秒跳轉到App的首頁,這種操作在很多App中都很常見。如果需要做一個延時操作呢?寫一個子線程停留3秒然後執行操作,這樣的話需要特別的注意的是UI操作必須放在主線程裏,那麼還需要轉化成主線程?NO,使用Handler輕鬆實現倒計時和延時操作。
一.啓動頁倒計時詳細操作
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);
}
}
}
};
//在需要倒計時的地方執行以下代碼
updateHandler.sendEmptyMessage(2);
二.延時操作
使用Handler做延時請求,無需擔心UI線程是否在主線程
private Handler updateHandler = new Handler() {
@Override
public void dispatchMessage(Message msg) {
super.dispatchMessage(msg);
if (msg.what == 14) {
//用戶自己的操作
}
}
};
//在需要延時操作的地方執行以下代碼
/**
* 第一參數:what
* 第二個參數:需要延時的毫秒數
*/
updateHandler.sendEmptyMessageDelayed(14, 2000);
以上實現倒計時和延時操作,不要忘記在Activity的onDestroy()方法裏移除。
if (updateHandler != null) {
updateHandler.removeCallbacksAndMessages(null);
}
以上就是Android裏簡單實用的倒計時跳轉和延時操作的具體步驟和代碼,實現倒計時和延時操作有很多種,具體的還是需要看能否滿足自己的需求。