欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

软键盘挡住webview输入框

程序员文章站 2022-04-20 09:00:48
...

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

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

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

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

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

软键盘挡住webview输入框

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

使用起来很简单:

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


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

相关标签: android webview