Убрать фокус и курсор c edittext после закрытия клавиатуры
Мне необходимо убрать фокус и курсор с EditText после закрытия клавиатуры. Может нужно слушать клавиатуру или как-то иначе? Пишу на котлине если что
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Как вариант - можно отслеживать состояние клавиатуры. Если она скрыта то убирать фокус:
view.setWindowInsetsAnimationCallback(object : WindowInsetsAnimation.Callback {
override fun onEnd(animation: WindowInsetsAnimation) {
super.onEnd(animation)
val showingKeyboard = view.rootWindowInsets.isVisible(WindowInsets.Type.ime())
if (!showingKeyboard){edittext.clearFocus()}
}
})
так же можно ловить нажатие кнопки Enter на клавиатуре:
editText.setOnKeyListener(View.OnKeyListener { v, keyCode, event ->
if (keyCode == KeyEvent.KEYCODE_ENTER && event.action == KeyEvent.ACTION_UP) {
edittext.clearFocus()
return@OnKeyListener true
}
false
})