Я создаю интерфейс для распознавания, когда клавиатура скрыта или отображается. А вот мой код:
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);
}
});
Но проблема в том, что мне нужно только определить момент, когда клавиатура была открыта или спрятана, теперь метод работает, даже если вы нажимаете на кнопку или выполняете какую-то другую действие, не связанное с вызовом клавиатуры. Но мне нужно, в зависимости от того, появилась клавиатура или нет, чтобы скрыть кнопку. Это возможно?