1. 程式人生 > >Android EditText 輸入完畢 點選空白區域鍵盤自動退出

Android EditText 輸入完畢 點選空白區域鍵盤自動退出

  在android中點選EditText的時候會彈出軟鍵盤,但當我們輸入完畢或者想隱藏軟鍵盤時,我們可以點選軟鍵盤上的隱藏按鈕,這種方法固然可行,但是為了提高使用者體驗,我們常常要實現這種功能:當輸入完畢後想隱藏軟鍵盤時我們通過直接點選EditText的之外的其他空白處就可以隱藏軟鍵盤,這種做法明顯比點選軟鍵盤自身的隱藏按鈕要方便的多。

 實現方法:

 在MainActivity中重寫onTouchEvent(MotionEvent event)方法即可:

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