Closed lambor closed 8 years ago
KeyboardUtil.KeyboardStatusListener
暴露的接口就是:软键盘的显示状态。
内部不是对Keyboard高度"特别的"改进才进行。而是对布局的变化,而布局的变化不一定是键盘显示隐藏或显示导致的。
但是是 private
static class KeyboardStatusListener
是不是需要自己修改一下?谢谢啦
哦。我明白了,你可以看看这个,对外开放的是这个: KeyboardUtil.OnKeyboardShowingListener
。
在 KeyboardUtil.attach
时可以传入。
恩,如果能listen到keyboard高度变化就更好了,这个库对我帮助很大,十分感谢
恩。你可以覆写布局 XXXPanelXXXLalyout
(如KPSwitchPanelLinearLayout
),里面的refreshHeight(panelHeight)
,默认就是在键盘高度有改变的时候传回的。
不过要注意的是:
refreshHeight
并不能体现键盘是否隐藏或者显示,只有在键盘的高度有变化的时候回调。并且是在ViewTreeObserver.OnGlobalLayoutListener#onGlobalLayout
中回调回来的。
通常情况下,你也可以通过 KeyboardUtil#getKeyboardHeight(Context)
中获取最新的键盘高度计算结果。
如题,如果键盘的高度改变时,输入框的高度也改变,这时需要listview内容回滚到最底部。
阅读源码发现只有键盘showing的监听事件
KeyboardUtil.OnKeyboardShowingListener
,而且KeyboardUtil.KeyboardStatusListener
中只针对Keyboard高度"特别的"改变才进行KPSwitchPanelLinearLayout.refreshHeight
。可以添加一个类似于
OnKBHeightChangeListener
吗?或者还有什么简单的方法?