EditText弹出软键盘遮住输入框问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EditText弹出软键盘遮住输入框问题相关的知识,希望对你有一定的参考价值。

参考技术A

如果在Activity中的布局的下方有EditText,获取焦点弹出软键盘的时候,如果不做处理,软键盘可能会遮挡输入框,用户提现不好,网上也有很多人提出结局方案,这里就分析一下解决的效果.

需要用到EditText的布局大概分为两种,一种是页面显示的内容不希望有残缺,比如软键盘把标题挤出了屏幕,如登录注册搜索等,EditText多半在页面上半部分.另一种是页面的上半部分不重要,比如聊天窗口,软键盘弹出的时候,上半部分的聊天记录可以被基础屏幕外,EditText多半在最下方.其他的情况可以根据本文做出选择, 结果在最下面 .

开始:

网上针对这个问题解决的方法大概这么几种:

1.修改androidManifest.xml文件.

2.在Activity中添加配置.

3.在布局文件中添加ScrollVie.

在AndroidManifest.xml中对应的Activity配置: android:windowSoftInputMode="stateVisible|adjustResize"

这里SOFT_INPUT_ADJUST_RESIZE和SOFT_INPUT_ADJUST_PAN和上面中的adjustResize和adjustPan效果是一样的.

ScrollView是能让弹出的软键盘添加到布局的下面,从而不挡住部分布局.这里往往需要跟上面的adjustResize和adjustPan两个状态一起用.
布局:

向上移的方式 设置:

压缩的方式 设置:

结果:
只要弹出软键盘会影响到布局的情况,都用ScrollView把布局包裹起来,被包裹的内容就是可能被缩放或挤出屏幕外的内容.然后根据EditText的位置判断用adjustResize还是用adjustPan.
adjustResize是收缩adjustPan是向上挤
个人推荐,登录注册用adjustResize,聊天窗口用adjustPan

以上是关于EditText弹出软键盘遮住输入框问题的主要内容,如果未能解决你的问题,请参考以下文章

移动端软键盘弹出时文本输入框下沉获取焦点并弹出软键盘

android安卓editText自动弹出软键盘(输入键盘)

Android InputMethodManager进入页面后自动弹出软键盘

Android dialog 遮住输入框的解决思路

React-Native 弹出软键盘时,软键盘和页面下边栏多出一截?

Android的EditText在怎样获取焦点并弹出软键盘