[Android] 빈공간 터치할 때 키보드 내리는 확장함수

MSU·2024년 9월 6일

Android

목록 보기
17/36

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)
}

안드로이드 개발 시 활용하자!

profile
안드로이드공부

0개의 댓글