Android 监听软键盘状态
16lz
2021-01-23
调用xml里面的根布局ID ,并添加布局变化监听事件。
View rootView = view.findViewById(R.id.root_view);rootView.addOnLayoutChangeListener(this);//获取屏幕高度screenHeight = getActivity().getWindowManager().getDefaultDisplay().getHeight();//阀值设置为屏幕高度的1/3keyHeight = screenHeight / 3;
事件回调
@Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { //old是改变前的左上右下坐标点值,没有old的是改变后的左上右下坐标点值 //现在认为只要控件将Activity向上推的高度超过了1/3屏幕高,就认为软键盘弹起 if (oldBottom != 0 && bottom != 0 && (oldBottom - bottom > keyHeight)) { LogUtil.i("=======软键盘弹起"); } else if (oldBottom != 0 && bottom != 0 && (bottom - oldBottom > keyHeight)) { LogUtil.i("=======软键盘关闭"); } }
更多相关文章
- Android屏蔽EditText的软键盘
- DisplayMetrics获取手机屏幕大小(宽高)
- Android webView 支持缩放及自适应屏幕
- android屏幕截图并通过邮件发送
- 【Android】 点击空白处隐藏(收起)键盘
- 修改android屏幕DPI
- android修改framework固定屏幕
- android中动态给EditText获得焦点并弹起键盘的方法