Jacksgong / JKeyboardPanelSwitch

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

透明状态栏下,setSystemUiVisibility之后键盘状态监听有问题 #101

Open HourInTheSun opened 5 years ago

HourInTheSun commented 5 years ago

使用translucent属性后,如果window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR),会导致actionBarOverlayLayout.getPaddingTop()为0,软键盘监听都不正常了,有什么办法解决吗

HourInTheSun commented 5 years ago

刚才又看了下这个问题,顺便翻了下issues,发现很多人有遇到,就是系统键盘panel切换到自定义panel时会闪一下,基本都确定这段代码有问题:KeyboardUtil.calculateKeyboardShowing() final int phoneDisplayHeight = contentView.getResources().getDisplayMetrics().heightPixels; if (!isTranslucentStatus && phoneDisplayHeight == actionBarOverlayLayoutHeight) { // no space to settle down the status bar, switch to fullscreen, // only in the case of paused and opened the fullscreen page. Log.w(TAG, String.format("skip the keyboard status calculate, the current"

jackyHuangH commented 5 years ago

我使用的是ImmersionBar适配沉浸式状态栏,同样遇到异常问题

HourInTheSun commented 5 years ago

我使用的是ImmersionBar适配沉浸式状态栏,同样遇到异常问题

目前看来最简单的做法就是注掉上面这段代码了

jackyHuangH commented 5 years ago

我使用的是ImmersionBar适配沉浸式状态栏,同样遇到异常问题

目前看来最简单的做法就是注掉上面这段代码了

不不不,我说的是注释掉以后同样存在这个问题,应该是有冲突,我不用沉浸式就没事

HourInTheSun commented 5 years ago

我使用的是ImmersionBar适配沉浸式状态栏,同样遇到异常问题

目前看来最简单的做法就是注掉上面这段代码了

不不不,我说的是注释掉以后同样存在这个问题,应该是有冲突,我不用沉浸式就没事

哦,我是自己处理的状态栏,可以正常用

YummyLau commented 4 years ago

支持沉浸式哈。 https://github.com/YummyLau/PanelSwitchHelper 可以试试