我正在解决的原始问题更为复杂,但出于调查目的,我已将测试用例简化为以下内容:
ViewGroup parent = (ViewGroup) getWindow().getDecorView().getRootView();
parent.addView(myWebView);
loadUrl("http://google.com")
"android:windowSoftInputMode="adjustPan"
当点击谷歌页面上的搜索框时,键盘弹出,但网页视图本身没有向上移动,因为adjustPan指示应该发生。主活动还有一个原生文本字段,单击该字段时将按预期移动整个布局(包括Web视图)。
在Nexus 7和Galaxy Nexus上的行为都出现在4.2.2上。
所以问题是如何将windowSoftInputMode属性adjustPan正确应用于Web视图实例,这样当显示软键盘时,整个Web视图会被键盘占用的垂直空间向上移动。
在我试图在onMeasure中手动操作布局之前,我想看看是否有一致/更好的方法来处理这个问题。浏览器显然正确地处理了这种情况,因此不确定为什么Web视图无法处理这个问题。
需要注意的一点是,由于我无法更改现有架构,因此无法将Web视图设置为全屏或单独的活动。
答案 0 :(得分:0)
如果我们在没有操作栏的情况下使用全屏,则adjustResize将无效。有关详细信息,请参阅此主题