软键盘关闭时执行操作

Perform action when soft keyboard is closing

我想在软键盘关闭时执行一个方法。我尝试覆盖 onBackPressed() 方法但它不起作用,因为当软键盘打开时后退按钮会发生变化(下面是按钮的屏幕截图)。

Hide-Soft-Keyboard-Button

我尝试使用 OnKeyListener,但事实证明它不适用于软键盘。而且我也不知道这个 "hide-soft-keyboard-button" 的 keyCode...

我将不胜感激,因为无法在任何地方找到解决方案。

您可以使用布局侦听器来查看 activity 的根布局是否被键盘调整了大小,但是检测软键盘是否显示或已经消失只能通过一些变通方法和技巧来实现,因此我不推荐。

在您的 edittext 上设置焦点更改侦听器会更合适:

yourEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
 public void onFocusChange(View v, boolean hasFocus) {
    if (hasFocus) {
        //got focus
    } else {
        //lost focus
    }
  }
});