CommonUtilLibrary
CommonUtilLibrary copied to clipboard
软键盘管理AppKeyBoardMgr中判断软键盘是否显示的方法是无效的
目前我试过有效的方法是监听软键盘弹出时引起的根布局高度的变化,当其变化值大于屏幕高度的三分之一时,即视为软键盘弹出。
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;
}
}
});