[TIP] Android EditText remove focus - 화면 클릭하여 키보드 숨기기
Notepad96
·2022. 2. 6. 23:25
300x250
EditText 입력 중 화면 클릭하여 키보드 숨기고 EditText focus 제거하는 방법
// 화면 클릭하여 키보드 숨기기 및 포커스 제거
override fun dispatchTouchEvent(event: MotionEvent?): Boolean {
if (event?.action === MotionEvent.ACTION_DOWN) {
val v = currentFocus
if (v is EditText) {
val outRect = Rect()
v.getGlobalVisibleRect(outRect)
if (!outRect.contains(event.rawX.toInt(), event.rawY.toInt())) {
v.clearFocus()
val imm: InputMethodManager =
getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(v.getWindowToken(), 0)
}
}
}
return super.dispatchTouchEvent(event)
}
터치 이벤트를 사용하여 EditText의 포커스와 키보드를 숨긴다.
해당 Activity에서 dispatchTouchEvent라는 함수를 오버라이딩 한 후(Ctrl+O) 위 같은 코드를 작성해준다.
300x250
'Android > TIP' 카테고리의 다른 글
[TIP] Android Layout 나누기, 분할하기 (0) | 2022.02.14 |
---|---|
[TIP] Android Style Background 꾸미기 - 테두리, 모서리 둥글게 등 (0) | 2022.02.11 |
[TIP] Android Button Background color not working (0) | 2022.02.09 |
[TIP]Android 날짜 변경하기 - 내일, 어제, 한달 후 날짜 구하기 (0) | 2022.02.08 |
[TIP] Android DatePickerDialog - calendar min date (0) | 2022.02.05 |