Android實現倒計時跳轉和延時操作

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裏簡單實用的倒計時跳轉和延時操作的具體步驟和代碼,實現倒計時和延時操作有很多種,具體的還是需要看能否滿足自己的需求。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章