内容纲要
使用开源库 https://github.com/yshrsmz/KeyboardVisibilityEvent
安装
AAR 通过 Maven Central 分发。最新版本点击 Maven
dependencies {
implementation("net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:3.0.0-RC3")
}
为键盘更改事件添加事件侦听器
在 Activity 的 onDestroy 上自动注销事件
KeyboardVisibilityEvent.setEventListener(
getActivity(),
new KeyboardVisibilityEventListener() {
@Override
public void onVisibilityChanged(boolean isOpen) {
// some code depending on keyboard visiblity status
}
});
自动注销 LifecycleOwner 上的事件 ON_DESTROY
当您想从片段中获取 KeyboardVisibilityEvent 时,这很方便。
KeyboardVisibilityEvent.setEventListener(
getActivity(),
getLifecycleOwner(),
new KeyboardVisibilityEventListener() {
@Override
public void onVisibilityChanged(boolean isOpen) {
// some code depending on keyboard visiblity status
}
});
手动注销事件
// get Unregistrar
Unregistrar unregistrar = KeyboardVisibilityEvent.registerEventListener(
getActivity(),
new KeyboardVisibilityEventListener() {
@Override
public void onVisibilityChanged(boolean isOpen) {
// some code depending on keyboard visiblity status
}
});
// call this method when you don't need the event listener anymore
unregistrar.unregister();