Android精准的获取底部虚拟键盘的高度
16lz
2021-01-23
/** * 获取底部虚拟键盘的高度 */public int getBottomKeyboardHeight(){ int screenHeight = getAccurateScreenDpi()[1]; DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int heightDifference = screenHeight - dm.heightPixels; return heightDifference;}/** * 获取精确的屏幕大小 */public int[] getAccurateScreenDpi() { int[] screenWH = new int[2]; Display display = getWindowManager().getDefaultDisplay(); DisplayMetrics dm = new DisplayMetrics(); try { Class<?> c = Class.forName("android.view.Display"); Method method = c.getMethod("getRealMetrics",DisplayMetrics.class); method.invoke(display, dm); screenWH[0] = dm.widthPixels; screenWH[1] = dm.heightPixels; }catch(Exception e){ e.printStackTrace(); } return screenWH; }
更多相关文章
- ListView中Item高度设置
- android通过Instrumentation来模拟键盘点击操作
- Android——UI篇:动态设置DiaLog高度
- Android应用程序键盘(Keyboard)消息处理机制分析(19)
- Android 软键盘的显示和隐藏
- android 软键盘Enter键事件处理
- android中监听软键盘的弹出与隐藏,并获取软键盘的高度
- Android触发事件总结(触摸屏事件,手势识别,键盘事件,模拟鼠标/按键事
- 解决Popupwindow挡住软键盘问题