1. 程式人生 > >android點選螢幕隱藏小鍵盤

android點選螢幕隱藏小鍵盤

原文: android點選螢幕隱藏小鍵盤

fragment 下隱藏點選空白處隱藏小鍵盤  

view.setOnTouchListener(new OnTouchListener() {
  @Override
  public boolean onTouch(View v, MotionEvent event) {
    InputMethodManager manager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    if(event.getAction() == MotionEvent.ACTION_DOWN){
      if(getActivity().getCurrentFocus()!=null && getActivity().getCurrentFocus().getWindowToken()!=null){
        manager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
      }
    }
    return false;
  }
});

activity 下隱藏點選空白處隱藏小鍵盤

@Override
public boolean onTouchEvent(MotionEvent event) {
  InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
  if(event.getAction() == MotionEvent.ACTION_DOWN){
    if(getCurrentFocus()!=null && getCurrentFocus().getWindowToken()!=null){
      manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }
  }
  return super.onTouchEvent(event);
}

 

顯示小鍵盤

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);