Как скрывать клавиатуру по клику на экране?
Как скрывать клавиатуру по клику на экране, вне клавиатуры? Реализация скрытия клавиатуры по выходу из textView - не совсем нужный метод. Похожий вопрос был. Но мне кажется что это не очень "изящное" решение
Как скрывать клавиатуру при нажатии вне её области?
P.S. у меня активити и два фрагмента, на которых расположены основные элементы интерфейса. Активити "пустое"
Ответы (2 шт):
Автор решения: Vadik
→ Ссылка
Укажите id для корневого контейнера в вашей разметке:
android:id="@+id/root_container_view"
Повесьте OnTouchListener на корневой контейнер:
rootContainerView.setOnTouchListener { view, event ->
if (event.action == ACTION_DOWN) {
val imm = getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(view.windowToken, 0)
}
false
}
Игнорируйте ворнинг:
@SuppressLint("ClickableViewAccessibility")
Автор решения: jurvrn
→ Ссылка
На основе ответа mvs - поместил в MaynActivity. Вроде работает как надо.
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
currentFocus?.let { currFocus ->
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(currFocus.windowToken, 0)
}
return super.dispatchTouchEvent(ev)
}