Skip to content

Instantly share code, notes, and snippets.

@ilfuriano
Created February 6, 2020 14:30
Show Gist options
  • Save ilfuriano/31e7a965cbf979c1f7ac6294a0c69200 to your computer and use it in GitHub Desktop.
Save ilfuriano/31e7a965cbf979c1f7ac6294a0c69200 to your computer and use it in GitHub Desktop.
Clear focus for EditText on click outside
class MainActivity : AppCompatActivity() {
// code
// Clear focus for EditText on click outside
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
if (ev?.action == MotionEvent.ACTION_DOWN) {
(currentFocus as? EditText)?.let { et ->
Rect().also { rect ->
et.getGlobalVisibleRect(rect)
if (!rect.contains(ev.rawX.toInt(), ev.rawY.toInt())) {
et.clearFocus()
et.hideKeyboad()
}
}
}
}
return super.dispatchTouchEvent(ev)
}
}
fun View.hideKeyboad() =
(context.getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager)?.hideSoftInputFromWindow(windowToken, 0)
@ilfuriano
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment