Android. Как определить, если клавиатура скрыта или показана - PullRequest
0 голосов
/ 30 апреля 2020

Я создаю интерфейс для распознавания, когда клавиатура скрыта или отображается. А вот мой код:

view.getViewTreeObserver().addOnGlobalLayoutListener(
                () -> {
                    Rect r = new Rect();
                    view.getWindowVisibleDisplayFrame(r);
                    int screenHeight = view.getRootView().getHeight();
                    int keypadHeight = screenHeight - r.bottom;
                    if (keypadHeight > screenHeight * 0.15) { 
                        keyBoardVisibilityListener.onKeyboardVisibilityChanged(true);
                    } else {
                        keyBoardVisibilityListener.onKeyboardVisibilityChanged(false);
                    }
                });

Но проблема в том, что мне нужно только определить момент, когда клавиатура была открыта или спрятана, теперь метод работает, даже если вы нажимаете на кнопку или выполняете какую-то другую действие, не связанное с вызовом клавиатуры. Но мне нужно, в зависимости от того, появилась клавиатура или нет, чтобы скрыть кнопку. Это возможно?

...