键盘遮挡屏幕解决方案
来源:互联网 发布:笔记本windows键失灵 编辑:程序博客网 时间:2024/05/15 06:08
项目中输入内容页面经常会遇到虚拟键盘遮挡屏幕问题,这里用动态计算高度方式解决该问题。
实用方法功能记录!
1.在activity中onCreate中引用
//view1 总体布局,最外层布局 view2 最底部要显示出来的布局controlKeyboardLayout(View view1, View view2);
2.实现方法
/**
* @param root 最外层布局,需要调整的布局
* @param scrollToView 被键盘遮挡的scrollToView,滚动root,使scrollToView在root可视区域的底部
*/
private void controlKeyboardLayout(final View root, final View scrollToView) {
root.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect rect = new Rect();
//获取root在窗体的可视区域
root.getWindowVisibleDisplayFrame(rect);
//获取root在窗体的不可视区域高度(被其他View遮挡的区域高度)
int rootInvisibleHeight = root.getRootView().getHeight() - rect.bottom;
//若不可视区域高度大于100,则键盘显示
if (rootInvisibleHeight > 100) {
int[] location = new int[2];
//获取scrollToView在窗体的坐标
scrollToView.getLocationInWindow(location);
//计算root滚动高度,使scrollToView在可见区域的底部
int srollHeight = (location[1] + scrollToView.getHeight()) - rect.bottom;
root.scrollTo(0, srollHeight);
} else {
//键盘隐藏
root.scrollTo(0, 0);
}
}
});
}
- 键盘遮挡屏幕解决方案
- iOS键盘遮挡解决方案
- iOS键盘遮挡解决方案--摘抄-
- android 键盘弹出时将屏幕遮挡
- iOS键盘遮挡文本框的解决方案
- iOS 提示信息被键盘遮挡解决方案
- iOS 键盘遮挡输入框解决方案
- h5 wap 键盘遮挡input 框,解决方案
- 移动端 ios 系统键盘遮挡解决方案
- 触摸屏:屏幕键盘(虚拟键盘)解决方案
- 关于键盘弹出后遮挡屏幕的解决办法
- 键盘遮挡
- 键盘遮挡
- Flex 开发android程序键盘遮挡输入框解决方案
- Android——Fragment中键盘遮挡问题的解决方案
- 沉浸模式下键盘遮挡输入框的解决方案
- 键盘退出方式 键盘遮挡
- textView键盘遮挡问题
- Elipse 快捷键大全
- 华为32309交换机配置聚合端口
- 文章标题
- 【程序猿心情】不要只做一个一成不变的码农
- VIVADO中SDK新建工程编译出错——undefined reference to 'main'
- 键盘遮挡屏幕解决方案
- Unity 检测,是否触摸到UI
- Ubuntu 16.04 安装后的清洁工作
- DataFrame数据合并
- 字符串对称判断
- 国家电子政务网络建设
- Linux系统编程总结
- 子网掩码的概念
- Python3-3D plotting with Mayavi