让登陆按钮不被软件盘遮挡的一种方法
来源:互联网 发布:php 在线人数统计 编辑:程序博客网 时间:2024/05/24 04:57
/** * 让登陆按钮不被输入键盘挡住
在这里引用这个方法的时候 第一个参数传入根布局的View 如LinerLayout的View对象.第二个参数传入登陆按钮的View即可 */private boolean isFirst = true;//这个设置是为了只当软件盘弹起时才去测量private void addLayoutListenner(final View main, final View scroll) { main.getViewTreeObserver() .addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect rect = new Rect(); //1.获取窗口可视区域 main.getWindowVisibleDisplayFrame(rect); //在键盘没弹起来时,获取main窗体的不可视区域的高度 int mainInvisableHeight = main.getRootView() .getHeight() - rect.bottom; //窗体的高度 int screenHeight = main.getRootView() .getHeight(); //3.不可见区域大于屏幕1/4,说明键盘弹起 if (mainInvisableHeight > screenHeight / 4) { if (isFirst) { int[] location = new int[2]; scroll.getLocationInWindow(location); //4.获取scroll窗体的坐标,算出main需要滚动的高度 int scrollHeight = (location[1] + scroll.getHeight() - rect.bottom); //5.让界面整体上移键盘的高度 main.scrollTo(0, scrollHeight); isFirst = false; } } else { //不可见区域小于屏幕1/4说明键盘隐藏,将界面移回原来的高度 main.scrollTo(0, 0); isFirst = true; } } });}
阅读全文
0 0
- 让登陆按钮不被软件盘遮挡的一种方法
- 【Android】解决软键盘遮挡登陆按钮
- android开发软键盘遮挡登陆按钮
- 【Android】解决软键盘遮挡登陆按钮
- 让指定的layout不被弹出输入法遮挡
- 软键盘遮挡登录按钮的处理方法
- 让JS导航不被FLASH遮挡
- 让JS导航不被FLASH遮挡
- 弹出键盘遮挡按钮的处理方法
- IOS 软键盘不遮挡UITextField方法
- 如何让Flash不遮挡HTML div元素的技巧
- 一种让swf文件不写入浏览器缓存的实现方法
- 一种让swf文件不写入浏览器缓存的实现方法
- css - 一种让超大banner图片不拉伸、全屏宽、居中显示的方法
- 制作“YouAreHere”按钮的另外一种方法
- 转 十一种刷新按钮的方法
- android中键盘不遮挡ui界面的方法
- Cocos2d-x 重写draw方法绘制直线等图形时被遮挡覆盖问题的一种解决方案
- CAS学习记录1--CAS Server端安装
- CAP理论
- linux redis操作小记
- httpurlconnectionpost3
- [Leetcode] 304. Range Sum Query 2D
- 让登陆按钮不被软件盘遮挡的一种方法
- lombok @EqualsAndHashCode 注解的影响
- 22. Generate Parentheses
- GC
- Android中使用Lambda表达式
- bootstrap+angular+ssm整合(下)
- 大型网站架构系列:负载均衡详解(3)
- 阿里云9块9 LAMP&JAVA运行环境搭建
- Python环境搭建