@Override public void onResume(){ super.onResume(); //获取当前屏幕内容的高度 getWindow().getDecorView().addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { //获取View可见区域的bottom Rect rect = new Rect(); getWindow().getDecorView().getWindowVisibleDisplayFrame(rect); //避免重复事件 String keyboardStatus = String.format("%d%d%d",bottom,oldBottom,rect.bottom); if(keyboardStatus.equals(lastKeyboardStatus)){ return; } lastKeyboardStatus = keyboardStatus; if(bottom!=0 && oldBottom!=0 && bottom - rect.bottom <= 0){ HashMap<String,Object> data = new HashMap<String, Object>(); data.put("eventName","hide"); ImUtils.dispatch("keyBoardEvent",data); }else { HashMap<String,Object> data = new HashMap<String, Object>(); data.put("eventName","show"); data.put("height",bottom - rect.bottom); ImUtils.dispatch("keyBoardEvent",data); } } }); }
键盘弹出监听
本文介绍了一种在Android应用中监听虚拟键盘弹出和隐藏的方法,通过覆盖onResume方法并在其中添加布局变化监听器来实现。当键盘状态发生变化时,会触发事件并记录键盘高度。
5430

被折叠的 条评论
为什么被折叠?



