2011-01-09 10 views
2

編集可能な範囲をクリックしたときにキーボードが(コードで)消えるようにするには、アンドロイドのテキストボックスのようなものがありますか?アンドロイドでテキストボックスの外側をクリックすると、キーボードを消すことはできますか?

+1

iOSデバイスでは、キーボードが接続されているビューの外をクリックすると消えます。これはAndroidでは当てはまりません。標準的な振る舞いでは、バックボタンに触れると、キーボードの隠れた男性が表示されます。 –

+0

このリンクを確認するhttp://stackoverflow.com/questions/4165414/how-to-hide-soft-keyboard-on-android-after-clicking-outside-edittext – GSree

答えて

0
public boolean OutsideTouchEvent(MotionEvent m_event) { 
    View v = getCurrentFocus(); 
    boolean value = super.dispatchTouchEvent(m_event); 
    View w = getCurrentFocus(); 
    int scrcoords[] = new int[2]; 
    w.getLocationOnScreen(scrcoords); 
    float x = m_event.getRawX() + w.getLeft() - scrcoords[0]; 
    float y = m_event.getRawY() + w.getTop() - scrcoords[1]; 

    if (m_event.getAction() == MotionEvent.ACTION_UP && (x < w.getLeft() || x >= w.getRight() || y < w.getTop() || y > w.getBottom())) { 
     InputMethodManager inputMethodManager = (InputMethodManager) YourActivity.this.getSystemService(Activity.INPUT_METHOD_SERVICE); 
     inputMethodManager.hideSoftInputFromWindow(YourActivity.this.getCurrentFocus().getWindowToken(), 0); 
    } 
    return value; 

} 
関連する問題