Jacksgong / JKeyboardPanelSwitch

For resolve the layout conflict when keybord & panel are switching (Android键盘面板冲突 布局闪动处理方案)
Apache License 2.0
4.18k stars 684 forks source link

虚拟键盘手机windowTranslucentNavigation为true时,calculateKeyboardShowing计算出错 #46

Open DannyCheung opened 7 years ago

DannyCheung commented 7 years ago

isKeyboardShowing = actionBarOverlayLayoutHeight > displayHeight; 这句会一直为true,超出一个NavigationBar高度; 这里我简单处理为: // 以下是我新增的代码,但hasPermanentMenuKey一直返回false,所以对于没有虚拟键盘的手机也会多减naviHeight的值,虽然也能正确判断键盘被收起,但不完美(原来键盘收起时actionBarOverlayLayoutHeight == displayHeight,看作者能否更优雅的处理呢) int naviHeight = 0; Resources resources = getContext().getResources(); int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android"); if (resourceId > 0 && !ViewConfiguration.get(getContext()).hasPermanentMenuKey()) { naviHeight = resources.getDimensionPixelSize(resourceId); }

final int actionBarOverlayLayoutHeight = actionBarOverlayLayout.getHeight() - actionBarOverlayLayout.getPaddingTop() - naviHeight;

我的联系方式qq/wechat: 105636147