input칸에 포커스가 되어있으면 원래는 다른 곳을 터치하더라도 포커스가 풀리지 않지만 아래의 코드를 적용하면 포커스를 풀 수 있다!
private fun View.hideKeyboard() {
val imm = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(windowToken, 0)
}
//화면 아무곳이나 터치하면 소프트키가 사라짐
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
if (currentFocus != null) {
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(currentFocus!!.windowToken, 0)
binding.inputAmount.clearFocus()
}
return super.dispatchTouchEvent(ev)
}
안드로이드 개발 시 활용하자!