Open lindroy opened 6 years ago
目前我试过有效的方法是监听软键盘弹出时引起的根布局高度的变化,当其变化值大于屏幕高度的三分之一时,即视为软键盘弹出。
llRoot.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect rect = new Rect(); llRoot.getWindowVisibleDisplayFrame(rect); int screenHeight = ScreenUtils.getSreenHeight(context); int heightDiff = screenHeight - rect.bottom; if (heightDiff <= screenHeight / 3) { isKeyboardShown = false; } else { isKeyboardShown = true; } } });
目前我试过有效的方法是监听软键盘弹出时引起的根布局高度的变化,当其变化值大于屏幕高度的三分之一时,即视为软键盘弹出。