使用AndroidBug5497Workaround解决键盘遮挡问题

网上的一个类的办法

  1. AndroidBug5497Workaround类复制到项目中
  2. 在需要填坑的activity的onCreate方法中添加一句AndroidBug5497Workaround.assistActivity(this)即可。
public class AndroidBug5497Workaround {// For more information, see https://code.google.com/p/android/issues/detail?id=5497// To use this class, simply invoke assistActivity() on an Activity that already has its content view set.public static void assistActivity (Activity activity) {new AndroidBug5497Workaround(activity);}private View mChildOfContent;private int usableHeightPrevious;private FrameLayout.LayoutParams frameLayoutParams;private AndroidBug5497Workaround(Activity activity) {FrameLayout content = (FrameLayout) activity.findViewById(android.R.id.content);mChildOfContent = content.getChildAt(0);mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {public void onGlobalLayout() {possiblyResizeChildOfContent();}});frameLayoutParams = (FrameLayout.LayoutParams) mChildOfContent.getLayoutParams();}private void possiblyResizeChildOfContent() {int usableHeightNow = computeUsableHeight();if (usableHeightNow != usableHeightPrevious) {int usableHeightSansKeyboard = mChildOfContent.getRootView().getHeight();int heightDifference = usableHeightSansKeyboard - usableHeightNow;if (heightDifference > (usableHeightSansKeyboard/4)) {// keyboard probably just became visibleframeLayoutParams.height = usableHeightSansKeyboard - heightDifference;} else {// keyboard probably just became hiddenframeLayoutParams.height = usableHeightSansKeyboard;}mChildOfContent.requestLayout();usableHeightPrevious = usableHeightNow;}}private int computeUsableHeight() {Rect r = new Rect();mChildOfContent.getWindowVisibleDisplayFrame(r);return (r.bottom - r.top);// 全屏模式下: return r.bottom}}

android 键盘遮挡相关推荐

  1. android,键盘遮挡了输入框,完美解决android键盘遮挡问题

    登录界面经常会出现输入框被键盘遮挡的情况,这里处理的方式是当软件盘出现的时候在界面的最底部空出键盘的高度.需要代码和xml布局一起修改来实现. 1.xml布局通过ScrollView包裹住内容,内容使 ...

  2. android 键盘遮挡,Android软键盘遮挡的四种解决方案

    在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图: 输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示: 输入密码时输入框被系统键 ...

  3. h5底部输入框被键盘遮挡_移动端虚拟键盘引发的问题分析

    在工作的过程中无论是与原生结合的Hybird的H5页面或者微信公众号页面都会遇到当触发键盘输入行为时,页面窗口往上离开屏幕(与iOS的适配)或者页面高度变小(在微信中打开页面等),现在我们来分析一下各 ...

  4. Android实例-解决虚拟键盘遮挡问题(XE8+小米2)

    Android实例-解决虚拟键盘遮挡问题(XE8+小米2) 参考文章: (1)Android实例-解决虚拟键盘遮挡问题(XE8+小米2) (2)https://www.cnblogs.com/FKde ...

  5. Android软键盘遮挡的四种解决方案

    Android软键盘遮挡的四种解决方案 参考文章: (1)Android软键盘遮挡的四种解决方案 (2)https://www.cnblogs.com/jerehedu/p/4194125.html ...

  6. android EditText光标位置,光标样式,EditText限制输入内容,软键盘遮挡的EditText,搜索框,限制输入表情

    显示在软键盘上 android:windowSoftInputMode="adjustPan|stateHidden" 1.光标位置 homesosoedit.setSelecti ...

  7. android 软键盘遮住按钮,Android应用中出现软键盘遮挡住按钮如何解决

    Android应用中出现软键盘遮挡住按钮如何解决 发布时间:2020-11-20 16:25:47 来源:亿速云 阅读:110 作者:Leah Android应用中出现软键盘遮挡住按钮如何解决?相信很 ...

  8. android 记一次解决键盘遮挡问题

    文章链接:https://mp.weixin.qq.com/s/1gkMtLu0BTXOUOj6isDjUw 日常android开发过程中,会遇到编辑框输入内容弹出软键盘,往往会出现键盘遮挡内容,或者 ...

  9. android自定义键盘遮挡,Android软键盘遮挡的四种完美解决方案

    一.问题概述 在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图: 输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示: 输入密码时 ...

  10. android自定义键盘遮挡,android中键盘遮挡了dialog里的内容怎么处理

    在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图: 输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示: 输入密码时输入框被系统键 ...

最新文章

  1. sysdba,sysoper,normal 以及sys,sysdba,dba概念区别
  2. 个人的关于c++运算符重载的总结
  3. PostMessage与SendMessage
  4. VS2008非托管c++访问webservice服务(以WeatherWS 天气服务 为例)
  5. 乐高创意机器人moc_乐高MOC佳作欣赏丨机械之美机器人乐高作品集1
  6. spring--打印hello--注解component--自动创建对象
  7. 用 AI 培养孩子学习兴趣,讯飞新一代智能学习机正式发布!
  8. 对MVC设计模式的理解
  9. 用户画像案例一:汽车精准营销
  10. 无法定位链接器!请检查 tools\link.ini 中的配置是否正确。 易语言5.9版本 静态编译
  11. 教你用go freetype根据用户昵称生成头像
  12. STM32单片机跑马灯实验解析
  13. MySQL Cluster 集群部署
  14. 设计模式(工厂模式)
  15. 页面操作时显示“处理中,请稍候。。。”
  16. PyCharm打包可执行文件方法
  17. Android 开发 有道翻译
  18. 爬虫系列之豆瓣图书排行
  19. nasm 用xmm寄存器做矩阵相加溢出了如何处理?
  20. 关于CPU序列号的问题,以及如何获取×64下CPU的ProcessorID

热门文章

  1. 服务器winsxs文件夹怎么清理工具,win10系统winsxs文件夹该如何删除?win10删除winsxs文件夹的两种方法...
  2. socket 读、写字节流数据
  3. nodejs实现读取本地目录生成文件树
  4. oracle的shell命令,shell脚本执行oracle insert语句seraph
  5. Thinkphp重复字段过滤
  6. 《动手学深度学习》(PyTorch版)代码注释 - 3 【Softmaxs_regression_with_zero】
  7. Redis集群之主从模式
  8. Android中手机号、车牌号正则表达式
  9. python constants_Python constants包_程序模块 - PyPI - Python中文网
  10. Python中in和has_key的性能比较