记一下,以后不用找 在InputMethodService中有这两个方法可以看到软键盘显示状态
//软键盘隐藏 override fun onWindowHidden() { super.onWindowHidden() }
//软键盘显示 override fun onWindowShown() { super.onWindowShown() }
在activity中可以通过这种方法看到软键盘显示状态
view.viewTreeObserver.addOnGlobalLayoutListener { // 获取屏幕的高度 val screenHeight: Int = view.getRootView().getHeight() // 获取当前布局的可见高度 val rect = Rect() view.getWindowVisibleDisplayFrame(rect) // 计算键盘的高度 var keyboardHeight = screenHeight - rect.bottom; if (keyboardHeight > screenHeight * 0.15) { // 键盘显示 showKeyBoardHeight = keyboardHeight if (showKeyBoardHeight - hideKeyBoardHeight > 0) { } } else { hideKeyBoardHeight = keyboardHeight // 键盘隐藏 } }