软键盘挡住webview输入框

来源:互联网 发布:淘宝商家发货信息 编辑:程序博客网 时间:2024/06/06 23:59

和很多人做项目一样,遇到了在WebView加载的页面内底部有输入框被软键盘挡住的问题。资料查了一堆,最简单的一种解决方法是在AndroidManifest文件中对activity设置:android:windowSoftInputMode的值adjustPan或者adjustResize即可,像这样:

<activity    android:name=".MainActivity"    android:windowSoftInputMode="adjustPan"  >    ...</activity>

adjustPan:把整个界面向上平移,使输入框露出,不会改变界面的布局;

adjustResize:重新计算弹出软键盘之后的界面大小,相当于是用更少的界面区域去显示内容,输入框一般自然也就在内了。

这个方法适用页面非WebView加载的情况,当页面有WebView的时候,adjustPan和adjustResize的作用受到了一定的限制,如图:



这种情况,我看网上很多朋友都没有写明该怎么解决,后面再一位老哥的简书上了解到这个BUG叫"issue 5497",也看到了解决方法,一个神奇的类AndroidBug5497Workaround

使用起来很简单:

1、把这个类拷贝到你的工程里;2、在你有问题的Activity里加一句代码:AcdroidBug5497Workround.assistActivity(this);


更详细的介绍可以查看这位老哥的简书:http://www.jianshu.com/p/306482e17080

原创粉丝点击