Скрыть клавиатуру и убирать фокус

В каких случаях может понадобиться скрыть клавиатуру и убирать фокус? Допустим у вас есть поле ввода, вы записываете в него данные и нажимаете кнопку сохранить. Данные сохраняются, но так как фокус по прежнему остаётся в поле ввода клавиатура не закроется. Для пользователя нужно искать варианты скрыть клавиатуру. По логике после нажатия кнопки сохранить клавиатура должна сама закрыться, так как она больше не нужна пользователю. Рассмотрим готовый метод позволяющий скрыть клавиатуру и убирать фокус.

На вход метод keyboardHide получает Activity, View.
Получаем INPUT_METHOD_SERVICE.
Командой .hideSoftInputFromWindows скрываем клавиатуру.
Командой .clear Focus() убираем фокус.

Удобство пользования приложением очень важно. Из таких мелочей складывается впечатление о качестве приложения.

// Скрыть клавиатуру и убирать фокус из View элемента
public static void keybordHide(Activity yourActivity, final View mSearchView){
    InputMethodManager inputMethodManager = (InputMethodManager)
yourActivity.getSystemService(Activity.INPUT_METHOD_SERVICE);

    inputMethodManager.hideSoftInputFromWindow(yourActivity.getCurrentFocus()
.getWindowToken(), 0);

    mSearchView.post(new Runnable() {
        @Override
        public void run() {
            mSearchView.clearFocus();
        }
    });
}
Поделись с друзьями:

Оставьте комментарий