非透明状态栏下使用adjustResize和adjustPan,或是透明状态栏下使用fitsSystemWindows=true属性

AndroidManifest.xml对应的Activity里添加 
android:windowSoftInputMode=”adjustPan”或是android:windowSoftInputMode=”adjustResize”属性 

属性 注意事项 优缺点 失效情况 适用情况
adjustResize(建议) 需要界面本身可调整尺寸,
如在布局添加ScrollView,或输入控件属于RecycleView/ListView某一项
优点:1.不会把标题栏顶出当前布局;
2.有多项输入时,当前输入框下面的输入框可上下滑动输入 
缺点:1.需要界面本身可调整尺寸;
2. 全屏时失效
1.Activity主窗口尺寸无法调整;
2.Activity全屏
3.android5.0以上通过style设置沉浸式状态栏模式而不设置fitSystemWindow为true
非全屏或是非沉浸式状态栏输入界面,输入框比较多
adjustPan 页面不会重新布局,当前输入框和键盘会直接将当前输入框以上界面整体向上平移,这样即使界面包含标题栏,也会被顶上去 优点: 使用简单,不需要界面本身可调整尺寸,不会有失效情况 
缺点: 会把标题栏顶出当前布局;有多项输入时,当前输入框下面的输入框无法输入,必须收起键盘显示输入框再输入
有少量输入项,且输入量居界面上方
fitsSystemWindows 如果多个View设置了fitsSystemWindows=”true”,只有初始的view起作用,都是从第一个设置了fitsSystemWindows的view开始计算padding 优点:使用简单,需要沉浸式状态栏的界面,不需要自己计算padding状态栏的高度
缺点:使用有限制
1.View 的其他 padding 值被重新改写了
2.手机系统版本>=android 4.4
1.界面全屏
2.设置界面主题为沉浸式状态栏
  • adjustResize失效情况:activity设置了全屏属性指Theme.Light.NotittleBar.Fullscreen(键盘弹起时会将标题栏也推上去)或者设置了activity对应的主题中android:windowTranslucentStatus属性,设置方式为:android:windowTranslucentStatus=true,这时如果对应的页面上含有输入框,将会导致点击输入框时软键盘弹出后键盘覆盖输入框,导致输入框看不见。

  • fitsSystemWindows=”true”只有初始的view起作用:如果在布局中不是最外层控件设置fitsSystemWindows=”true”那么设置的那个控件高度会多出一个状态栏高度。若有多个view设置了,因第一个view已经消耗掉insect,其他view设置了也会被系统忽略。

  • 使用adjustPan, 如果需要输入的项比较多时,点击输入框,当前输入项会被顶到软键盘上方,但若当前输入框下面还有输入项时,却需要先收起键盘,再点击相应的输入项才能输入。这样操作太繁琐了,对于用户体验不大好;

  • adjustResize的使用,需要界面本身可显示的窗口内容能调整,可结合scrollview或NestedScrollView使用;

完美解决android软键盘挡住输入框方法,还不顶标题栏相关推荐

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

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

  2. Android软键盘挡住输入框,设置adjustResize还无效,解决方案

    * adjustPan是把整个界面向上平移,使输入框露出,不会改变界面的布局: * adjustResize则是重新计算弹出软键盘之后的界面大小,相当于是用更少的界面区域去显示内容,输入框一般自然也就 ...

  3. Android软键盘挡住输入框

    今天产品突然过来说APP登录界面软键盘遮挡了editText的输入框体验不好,确实是,那就开始操作: 在网上一查,打多数都是这样写的: 第一种 1 2 3 4 5 <activity andro ...

  4. android 键盘遮盖输入框_Android软键盘挡住输入框的终极解决方案

    前言 开发做得久了,总免不了会遇到各种坑. 而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑--来来来,我们慢慢看. 入门篇 最基本的情况,如图所示:在页面底部有一 ...

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

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

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

    前言 开发做得久了,总免不了会遇到各种坑. 而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑--来来来,我们慢慢看. 入门篇 Base 最基本的情况,如图所示:在页 ...

  7. android h5输入框被键盘遮挡,h5软键盘挡住输入框问题解决(android)

    问题 如图一个表单: 在部分android机型上测试点击靠下的输入框时遇到弹出的软键盘挡住输入框问题,ios可自身弹起(ios自身的调整偶尔也会出问题,例如第三方键盘会遮挡,原因是第三方输入法的too ...

  8. Android 软键盘弹出时把布局顶上去,控件乱套解决方法

    Android 软键盘弹出时把布局顶上去,控件乱套解决方法 参考文章: (1)Android 软键盘弹出时把布局顶上去,控件乱套解决方法 (2)https://www.cnblogs.com/zhuj ...

  9. 解决Android软键盘弹出覆盖h5页面输入框问题 // 在ios系统中输入框软键盘消失后,页面不回弹的问题 // 解决苹果不回弹页面 // 微信环境打开

    //解决Android软键盘弹出覆盖h5页面输入框问题 window.addEventListener('resize', () => {if (document.activeElement.t ...

最新文章

  1. 从零开始学Win32平台缓冲区溢出(Part1)
  2. python条件语句-Python中条件判断语句的简单使用方法
  3. python 中的接口_python中接口
  4. configurations in Gateway hub system
  5. C#vs Java哪一个更快? 将25k C#转换为Java(2)
  6. 基于ZYNQ FPGA实现图像采集存储显示
  7. Linux的铜墙铁壁:防火墙之iptables
  8. mysql作业是什么意思_MySQL 作业七
  9. Java内部类手机专卖店_Java:内部类
  10. 上海工程技术大学c语言试卷,上海工程技术大学2009-2010C语言试卷A.doc
  11. 桌面弹球游戏终结,含有全部代码
  12. Hat’s Words HDU - 1247
  13. android桌面快捷网页,Android向桌面添加快捷方式,使其指向特定的网页
  14. win10用计算机分区,win10怎么分区,详细教您win10怎么对磁盘进行分区
  15. 开源的看板管理工具Wekan
  16. 手写计算机在线计算,计算器中的神器《MyScript手写计算器》
  17. mt管理器错误信息java_DEX编辑
  18. 用计算机语言写祝福语,有关程序员节的祝福语
  19. VBA 对 range() 或 cells() 的内容格式的修改, 如 range.address(0,0) cells().formulaR1C1
  20. 羊驼笔记:清算bot

热门文章

  1. Symantec赛门铁克强制型EV SSL服务器证书
  2. 算法基础题:木棍切割问题
  3. 访问局域网中的虚拟机(详细教程!)
  4. CreateWindowW函数
  5. 操作系统-存储器管理实验
  6. CATIA CAA二次开发专题(四)------创建自己的Addin
  7. PMP有效期三年后,还有必要续证吗?详细续证流程PDU积攒方法
  8. java从高位到低位输出_任意输入一个正整数,从高位向低位依次输出,或从低位向高位依次输出(数组,调用函数两种方法)...
  9. autojs之excel
  10. 信号与电源完整性分析(一)提高信号质量