CommonUtilLibrary icon indicating copy to clipboard operation
CommonUtilLibrary copied to clipboard

软键盘管理AppKeyBoardMgr中判断软键盘是否显示的方法是无效的

Open lindroy opened this issue 6 years ago • 0 comments

目前我试过有效的方法是监听软键盘弹出时引起的根布局高度的变化,当其变化值大于屏幕高度的三分之一时,即视为软键盘弹出。

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;
                   
                }
            }
        });

lindroy avatar Mar 28 '18 05:03 lindroy