沿着这个问题的线索,可以追溯到: http://code.google.com/p/android/issues/detail?id=5497    ,安卓官方问题回馈帖,这个问题的代号为“ 5497 ” ,就这个问题帖的回复来看,该问题困惑了许多人数年之久,问题发布日期“ Dec 16, 2009 ”,现在我在安卓 4.4.2 环境运行,这个问题依旧存在。在此推荐这其中的一个解决方法,来自:stackoverflow.com,实测有效。

[java] view plaincopyprint?
  1. public class AndroidBug5497Workaround {
  2. // For more information, see https://code.google.com/p/android/issues/detail?id=5497
  3. // To use this class, simply invoke assistActivity() on an Activity that already has its content view set.
  4. public static void assistActivity (Activity activity) {
  5. new AndroidBug5497Workaround(activity);
  6. }
  7. private View mChildOfContent;
  8. private int usableHeightPrevious;
  9. private FrameLayout.LayoutParams frameLayoutParams;
  10. private AndroidBug5497Workaround(Activity activity) {
  11. FrameLayout content = (FrameLayout) activity.findViewById(android.R.id.content);
  12. mChildOfContent = content.getChildAt(0);
  13. mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
  14. public void onGlobalLayout() {
  15. possiblyResizeChildOfContent();
  16. }
  17. });
  18. frameLayoutParams = (FrameLayout.LayoutParams) mChildOfContent.getLayoutParams();
  19. }
  20. private void possiblyResizeChildOfContent() {
  21. int usableHeightNow = computeUsableHeight();
  22. if (usableHeightNow != usableHeightPrevious) {
  23. int usableHeightSansKeyboard = mChildOfContent.getRootView().getHeight();
  24. int heightDifference = usableHeightSansKeyboard - usableHeightNow;
  25. if (heightDifference > (usableHeightSansKeyboard/4)) {
  26. // keyboard probably just became visible
  27. frameLayoutParams.height = usableHeightSansKeyboard - heightDifference;
  28. } else {
  29. // keyboard probably just became hidden
  30. frameLayoutParams.height = usableHeightSansKeyboard;
  31. }
  32. mChildOfContent.requestLayout();
  33. usableHeightPrevious = usableHeightNow;
  34. }
  35. }
  36. private int computeUsableHeight() {
  37. Rect r = new Rect();
  38. mChildOfContent.getWindowVisibleDisplayFrame(r);
  39. return (r.bottom - r.top);
  40. }
  41. }

在Activity/Fragment的onCreate()/onCreateView()里调用AndroidBug5497Workaround.assistActivity(Activity);代码搬运,希望能够帮助到各位。感谢答案提供者,祝生活愉快。

解决安卓全屏“FLAG_FULLSCREEN”状态下“adjustResize”失效,全屏状态下WebView的输入框被软键盘挡住的问题相关推荐

  1. 解决安卓H5输入框获取焦点软键盘页弹起,页面高度被压缩问题

    在移动项目开发中经常会遇到输入框获取焦点软键盘页弹起,页面高度被压缩,输入框获取焦点时弹不上去的问题,我本次的是vue的UI框架(vux) 解决办法如下代码: 只要在页面初始化完成的时候,获取屏幕的可 ...

  2. Android爬坑之旅:软键盘挡住输入框问题的终极解决方式

    本文由BarryZhang原创,同一时候首发于diycode.cc.barryzhang.com .github.com/barryhappy.非商业转载请注明作者和原文链接. 前言 开发做得久了.总 ...

  3. android 键盘遮盖输入框_Android各种键盘挡住输入框解决办法

    原标题:Android各种键盘挡住输入框解决办法 今日科技快讯 C919大型客机首飞成功,让很多人激动不已.然而近日网上也出现了一些不同的声音:说这架飞机许多部件都是进口货,甚至有人说C919中国人只 ...

  4. 5种方法完美解决android软键盘挡住输入框方法详解

    版权声明:本文为CSDN博主「潇潇凤儿」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/smileiam/ ...

  5. android 键盘遮盖输入框_各种键盘挡住输入框终极解决办法

    对于键盘挡住输入框,给出了多种方案,希望对大家有所帮助. 在开发中,经常会遇到键盘挡住输入框的情况,比如登录界面或注册界面,弹出的软键盘把登录或注册按钮挡住了,用户必须把软键盘收起,才能点击相应按钮, ...

  6. 完美解决android软键盘挡住输入框方法,还不顶标题栏

    非透明状态栏下使用adjustResize和adjustPan,或是透明状态栏下使用fitsSystemWindows=true属性 在AndroidManifest.xml对应的Activity里添 ...

  7. android 键盘遮盖输入框_Android软键盘遮住输入框的解决方法终极适配

    新的一周,新的开始迎接新的挑战.今天简单介绍一下Android输入框被软键盘遮住的两种常用方法. 法一:清单文件对要进行设置的Activity属性配置android:windowSoftInputMo ...

  8. [html] android手机的微信H5弹出的软键盘挡住了文本框,如何解决?

    [html] android手机的微信H5弹出的软键盘挡住了文本框,如何解决? window.addEventListener("resize", function () {if ...

  9. Activity在全屏属性情况下,WebView会出现输入法软键盘遮挡输入框(界面无法自动上调)问题

    转自:http://www.rcdio.com/js/mg/xy/47922.html 正常情况下 ,设置了该属性之后,软键盘在弹出时,输入框便不会被遮挡. 但是该属性在有些情况下是不生效的,目前我所 ...

最新文章

  1. 10个免费在线逻辑关系图表图形设计制作工具
  2. epoll 使用详解
  3. 事件控制寄存器(AFIO_EVCR) (2011-09-09 13:51:58)
  4. 《移动优先与响应式Web设计》一1.2 设备不同,功能不同
  5. P4 前端编译器p4c-bm、后端编译器bmv2命令安装 make error问题
  6. android 在线设计工具,21个免费的UI界面设计工具、资源及网站
  7. linux基础-第十六单元 yum管理RPM包
  8. 使用Flask-SocketIO完成服务端和客户端的双向通信
  9. POJ 1002 电话号码字符串处理
  10. php mvc框架单例,ZeroPHP: 开发的第一个PHP框架 遵循MVC架构设计。 任重道远。
  11. 互联网全球化趋势下,印度极得美自我革新
  12. 无人机群编队分析的定位问题 分析与思考-1(数学建模竞赛2022年B题)
  13. 仿layui风格漂亮easyui主题皮肤美化
  14. 微信语音内容怎么录制,电脑如何内录
  15. android pin码 经典蓝牙_请问 蓝牙 的自动设置PIN码 功能该怎么实现。
  16. 超出本地计算机网络,超出本地计算机网络适配器卡的名称限制怎么解决?
  17. 小程序AppId-当前开发者未绑定此AppId,请到小程序管理后台操作后重试
  18. 判断PPC或者SP平台
  19. MVC jQuery表单验证
  20. 偷得浮生半日闲:手写数字的识别

热门文章

  1. 肾囊肿会出现什么异常?
  2. 外星人电脑切歌快捷键设置
  3. php mongodb的lookup,通过Aggregate $lookup操作 进行MongoDB的联表查询
  4. 人机交互到艺术设计及玫瑰花绘制实例
  5. 牛客网 完美世界2017校招技术综合A卷——部分
  6. python中global的意思_python中global是什么意思?
  7. setTimeout()使用实例
  8. 【C++】去除字符串string中的空格(两头空格、所有空格)
  9. 将所有的input框设置为只读
  10. matlab 表格的颜色设置,如何根据表格中的数据修改合适的单元格颜色(在Matlab中)?...