android隱藏顯示小鍵盤


 記錄一下開發中虛擬鍵盤的使用,fragment和activity中不同的使用

fragment下點擊其它位置隱藏小鍵盤,復制到initView()方法中

view.setOnTouchListener(new View.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 下點擊其它位置處隱藏小鍵盤,實現onTouchEvent方法

@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);
}

 

 

顯示小鍵盤,在需要顯示的控件onClick中調用,如點擊的是button控件,記得獲取editText的焦點

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM