Android點選EditText以外區域隱藏鍵盤Fragment同樣適用
阿新 • • 發佈:2019-02-16
@Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { View v = getCurrentFocus(); if (v!=null&&(!(v instanceof EditText)||!(v instanceof AppCompatEditText))){ InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); im.hideSoftInputFromWindow(MainActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } } return super.onTouchEvent(event); }
判斷當前的焦點所在控制元件是否屬於輸入框EditTextView或者AppCompatEditText,不是就隱藏鍵盤,網上大部分內容太過繁瑣,Fragment當中也沒法寫,這種方式在Fragment所在的Activity中寫了之後Fragment同樣有效果