2011-01-09 9 views
2

Wie kann ich die Tastatur verschwinden lassen (durch Code), wenn ich außerhalb der bearbeitbaren klicken, sind wie Textfeld in Android?Wie können wir machen Tastatur verschwindet, wenn wir außerhalb der Textbox in Android klicken?

+1

Auf iOS-Geräten wird durch Klicken außerhalb der Ansicht der Tastatur das Symbol ausgeblendet. Dies ist bei Android nicht der Fall. Hier sagt das Standardverhalten, dass das Berühren der Zurück-Taste die Tastatur verdeckt. –

+0

Überprüfen Sie diesen Link http://stackoverflow.com/questions/4165414/how-to-hide-soft-keyboard-on-android-after-clicking-outside-edittext – GSree

Antwort

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; 

} 
Verwandte Themen