Jacksgong / JKeyboardPanelSwitch

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

4.4中和三方库冲突 #100

Open Nstd opened 5 years ago

Nstd commented 5 years ago

implementation 'com.jaeger.statusbarutil:library:1.4.0' 4.4的系统,使用了这个库 在ChattingResolvedFragmentActivity中设置StatusBarUtil.setColor(this, Color.parseColor("#ff00ff")); 点击面板切换(从输入法切到面板)的时候显示异常,需要点两次才能正常显示面板,第一次显示为空

Nstd commented 5 years ago

还有个问题,在4.4的系统上,使用StatusBarUtil,如果是在setContent()之后设置的状态栏颜色,会导致KPSwitchRootLayoutHandler 中的 mIsTranslucentStatus 为false(首次初始化以后就不更新了),但是KPSwitchConflictUtil 中的isHandleByPlaceholder(final Activity activity) 方法是动态检测ViewUtil.isTranslucentStatus(activity)的,检测时会变成true,两边不一致,会导致,4.4的机器上,无法正常打开(或者关闭)panel。 我现在的做法是,在一切初始化完成以后,手动反射 KPSwitchRootLayoutHandler 中的 mIsTranslucentStatus,更新其实际状态值,可以修复这个问题,能否开个方法动态更新这个值,或者每次重新计算?