安卓键盘 - android:windowSoftInputMode="adjustPan"

4

我知道在这里有很多关于Android虚拟键盘的内容,但我似乎无法解决我的问题。

对于那些不熟悉AdjustPanAdjustResize的人,您可以在这里了解它们的作用-Android中adjustResize和adjustPan之间的区别?

我要实现的是AdjustPan的结果,其中我的Webview不会被调整大小,而是滚动到输入框,因为我有提交/取消按钮,这些按钮是position:absolute到屏幕底部。当我使用AdjustPan设置时,键盘打开但覆盖我的输入,并且不会将Webview滚动到输入位置。

另一方面,当我使用AdjustResize选项时,页脚的position: absolute按钮会覆盖最后几个输入,因为有很多内容需要适应半个屏幕大小。

目前我的Activity如下所示:

<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">

我希望避免使用Javascript监听器的解决方案,因为它们似乎有点不正规,并且根据我的经验通常不能提供无缝的外观和感觉。

我也遇到了同样的问题。你能找到解决方案吗? - Mans
1个回答

0
  1. 选项1

添加一个高度大约等于键盘高度的空白布局。将Webview和空白布局移动到ScrollView中,并禁用Webview的滚动。

  1. 选项2

在加载到Webview中的Web内容末尾添加几个换行符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接