91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android開發中實現點擊隱藏軟鍵盤的方法

發布時間:2020-11-20 16:46:43 來源:億速云 閱讀:355 作者:Leah 欄目:移動開發

Android開發中實現點擊隱藏軟鍵盤的方法?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

實現功能:點擊EditText,軟鍵盤出現并且不會隱藏,點擊或者觸摸EditText以外的其他任何區域,軟鍵盤被隱藏;

1、重寫dispatchTouchEvent()方法,獲取當前觸摸事件為DOWN的時候隱藏軟鍵盤

@Override
  public boolean dispatchTouchEvent(MotionEvent ev) {
    //Finger touch screen event
    if (ev.getAction() == MotionEvent.ACTION_DOWN) {
      // get current focus,Generally it is EditText
      View view = getCurrentFocus();
      if (isShouldHideSoftKeyBoard(view, ev)) {
        hideSoftKeyBoard(view.getWindowToken());
      }
    }
    return super.dispatchTouchEvent(ev);
  }

2、isShouldHideInput()方法;

/**
   * Judge what situation hide the soft keyboard,click EditText view should show soft keyboard
   * @param v Incident event
   * @param event 
   * @return
   */
  private boolean isShouldHideSoftKeyBoard(View view, MotionEvent event) {
    if (view != null && (view instanceof EditText)) {
      int[] l = { 0, 0 };
      view.getLocationInWindow(l);
      int left = l[0], top = l[1], bottom = top +view.getHeight(), right = left
          + view.getWidth();
      if (event.getX() > left && event.getX() < right
          && event.getY() > top && event.getY() < bottom) {
        // If click the EditText event ,ignore it
        return false;
      } else {
        return true;
      }
    }
    // if the focus is EditText,ignore it; 
    return false;
  }

3、hideSoftKeyBoard()方法;

/**
   * hide soft keyboard
   * @param token
   */
  private void hideSoftKeyBoard(IBinder token) {
    if (token != null) {
      InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
      im.hideSoftInputFromWindow(token,
  InputMethodManager.HIDE_NOT_ALWAYS);
    }
  }

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平谷区| 桂林市| 河西区| 郎溪县| 濮阳县| 济宁市| 焦作市| 东辽县| 手机| 镇康县| 承德市| 贵阳市| 涡阳县| 会泽县| 山东| 德兴市| 邛崃市| 海盐县| 邓州市| 芦山县| 沙田区| 勃利县| 瑞昌市| 明溪县| 江永县| 凤阳县| 鄂托克前旗| 桂林市| 福建省| 尚志市| 南投县| 甘洛县| 河南省| 东光县| 都匀市| 宜章县| 化隆| 民乐县| 长寿区| 平原县| 中卫市|