Jacksgong / JKeyboardPanelSwitch

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

关于全屏模式问题咨询 #60

Open wangshaolei opened 7 years ago

wangshaolei commented 7 years ago

如果全屏模式下

window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(Color.TRANSPARENT);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

android:windowSoftInputMode=adjustUnspecified
KeyboardUtil.attach(this, mPanelRoot,
                // Add keyboard showing state callback, do like this when you want to listen in the
                // keyboard's show/hide change.
                new KeyboardUtil.OnKeyboardShowingListener() {
                    @Override
                    public void onKeyboardShowing(boolean isShowing) {
                        Log.d(TAG, String.format("Keyboard is %s", isShowing ? "showing" : "hiding"));
                    }
                });

请问这个模式下,OnKeyboardShowingListener这个监听能走吗。我试了一下,全屏透明状态栏,这个监听没起作用。暂时还没时间追查原因啊。 @Jacksgong

qiaoyuandong commented 7 years ago

同问题,怎么解决的?

wangshaolei commented 7 years ago

@qiaoyuandong 还没有解决,暂时没用这个全屏模式

qiaoyuandong commented 7 years ago

我把代码Down下来,强行修改了ViewUtil里的方法,暂时解决了,等项目不急了再整理吧 @wangshaolei

wangshaolei commented 7 years ago

@qiaoyuandong 我的场景可能有点不同 screenshot_20170706-095115 screenshot_20170706-095123 我现在暂时没解决,没有找到问题。需要时间去研究一下。

qiaoyuandong commented 7 years ago

我们项目也有部分这样。我的处理方案是所有页面全屏,不需要全屏的设置topView在上面,来避免全屏和非全屏切换之间的跳动。都是用window.getDecorView().setSystemUiVisibility这个方法实现的。之所有这个库不能用是应为他判断全屏的方法是通过window.flag判断的,我们没有修改flag,所有要修改库的全屏判断方式。在ViewUtil里。 @wangshaolei 我也是比较急,以后再看

wangshaolei commented 7 years ago

good @qiaoyuandong 有合适的方案@我,thanks

wangshaolei commented 7 years ago

@qiaoyuandong 有时间了麻烦交流一下 上面这个场景bug。 qq304439198 thanks

qiaoyuandong commented 7 years ago

我这也有问题。展示解决不好。你有什么其他库推荐吗 @wangshaolei

wangshaolei commented 7 years ago

@qiaoyuandong 这几天抽空解决了一下,总是不完美有些问题,这几天再看看吧