Android软键盘不能平移网页视图

diz*_*key 8 keyboard android textfield ime webview

我正在解决的原始问题更复杂,但出于调查目的,我已将测试用例简化为以下内容:

  • 单一全屏活动
  • 以编程方式创建的Web视图占据大约一半的水平屏幕空间,90%的垂直空间,并通过onCreate调用添加到根视图中:

ViewGroup parent = (ViewGroup) getWindow().getDecorView().getRootView(); parent.addView(myWebView);

  • 网页视图通过以下网址打开google.com:

loadUrl("http://google.com")

  • AndroidManifest.xml具有以下属性:

"android:windowSoftInputMode="adjustPan"

当点击谷歌页面上的搜索框时,键盘弹出,但是网页视图本身没有向上移动,因为adjustPan指示应该发生.主活动还有一个本机文本字段,单击该字段将按预期移动整个布局(包括Web视图).

在Nexus 7和Galaxy Nexus上的行为都出现在4.2.2上.

所以问题是如何将windowSoftInputMode属性adjustPan正确应用于Web视图实例,以便在显示软键盘时整个Web视图向上移动键盘占用的垂直空间.

在我试着在onMeasure中手动操作布局之前,我想看看是否有一致/更好的方法来处理这个问题.浏览器显然正确处理这种情况,因此不确定为什么Web视图无法处理此问题.

需要注意的一点是,由于我无法更改现有架构,因此无法将Web视图设置为全屏或单独的活动.

小智 0

如果我们使用没有操作栏的全屏,则 adjustmentResize 将不起作用。查看这个线程的详细信息

  • adjustPan 不阻止键盘覆盖 EditText