Usando una biblioteca de código abierto KeyboardVisibilityEvent
Uso de KeyboardVisibilityEvent:
1:
1.1:
Necesito confiar en la biblioteca mavenCentral()
1.2:
dependencies {
implementation 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:3.0.0-RC3'
}
2:
Ejemplo de uso en Fragmento: (destruido manualmente)
private var unregistrar : Unregistrar? = null
override fun onResume() {
super.onResume()
unregistrar = registerEventListener(
activity,
KeyboardVisibilityEventListener {
Log.e("dukerDev","键盘展开:$it")
})
}
override fun onPause() {
super.onPause()
unregistrar?.unregister()
}
Uso en actividad: (destruido automáticamente)
KeyboardVisibilityEvent.setEventListener(
getActivity(),
new KeyboardVisibilityEventListener() {
@Override
public void onVisibilityChanged(boolean isOpen) {
// some code depending on keyboard visiblity status
}
});
Usado en Fragmento: (destruido automáticamente, asociado con el evento ON_DESTROY de LifecycleOwner)
KeyboardVisibilityEvent.setEventListener(
getActivity(),
getLifecycleOwner(),
new KeyboardVisibilityEventListener() {
@Override
public void onVisibilityChanged(boolean isOpen) {
// some code depending on keyboard visiblity status
}
});
Uso en Fragmento: (destruido manualmente)
// 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();
KeyboardVisibilityPortal de eventos
我们这一生最遗憾的事情之一,就是把我们最糟糕的一面留给了最亲近的人。 ————《这个杀手不太冷》
当你年轻时,以为什么都有答案,可是老了的时候,你可能又觉得其实人生并没有所谓的答案。 ————《堕落天使》