在Android 4.4(构建目标18)中使用WebView时,我看到了一些意外行为。特别是一页我们有一些编辑文本字段,为了让软键盘适当弹出,我们不得不使用类似于这里描述的代码片段:
https://code.google.com/p/android/issues/detail?id=7189
webview.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
if (!v.hasFocus()) {
v.requestFocus();
}
break;
}
return false;
}
});
这在版本4.3中按预期工作,但从4.4开始,上面的代码导致了一个不良影响,即在完成触摸后将webview的内容快照/滚动回到页面顶部 - 向下滚动这页纸。
是否有其他人遇到过这种新行为 - 或者找到了解决方法?到目前为止,我唯一想到的是子类化允许编辑的webview(因此上面的代码可以从现在有滚动问题的只读页面中删除)。当然,如果页面同时滚动并具有编辑字段,则无效。
提前致谢!