触摸网站中的项目或菜单时,网站无法在 WebView 上正常工作
Website dont work correctly on WebView when touching on item or menu in website
当触摸网站中的项目或菜单时,网站无法在 WebView 上正常工作
我阅读了其他解决方案,它是关于 phonegap 和本机应用程序的
我需要针对 Android Studio 我的设备是 Galaxy
的解决方案
05-26 10:57:55.543 E/webcoreglue﹕ Should not happen: no rect-based-test nodes found
05-26 10:57:55.633 V/WebViewInputDispatcher﹕ blockWebkitDraw
05-26 10:57:55.633 V/WebViewInputDispatcher﹕ blockWebkitDraw lockedfalse
出现这个问题是因为在某些情况下WebView
没有注意到它的可见矩形已经改变,所以对于webkit来说页面仍然不可见。因此所有接触都落在 window 之外,并被拒绝。
最干净的修复方法是当您知道 WebView
的可见性发生变化时(例如响应来自 ViewPager
的 setPrimaryItem
回调),调用
webview.onScrollChanged(webview.getScrollX(), webview.getScrollY());
您需要子类化 WebView
以将受保护的 onScrollChanged
提升为 public 方法。
我找到了另一个解决方案。在扩展 WebView
:
的 class 中使用它
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN){
int temp_ScrollY = getScrollY();
scrollTo(getScrollX(), getScrollY() + 1);
scrollTo(getScrollX(), temp_ScrollY);
}
return super.onTouchEvent(event);
}
当触摸网站中的项目或菜单时,网站无法在 WebView 上正常工作
我阅读了其他解决方案,它是关于 phonegap 和本机应用程序的
我需要针对 Android Studio 我的设备是 Galaxy
的解决方案 05-26 10:57:55.543 E/webcoreglue﹕ Should not happen: no rect-based-test nodes found
05-26 10:57:55.633 V/WebViewInputDispatcher﹕ blockWebkitDraw
05-26 10:57:55.633 V/WebViewInputDispatcher﹕ blockWebkitDraw lockedfalse
出现这个问题是因为在某些情况下WebView
没有注意到它的可见矩形已经改变,所以对于webkit来说页面仍然不可见。因此所有接触都落在 window 之外,并被拒绝。
最干净的修复方法是当您知道 WebView
的可见性发生变化时(例如响应来自 ViewPager
的 setPrimaryItem
回调),调用
webview.onScrollChanged(webview.getScrollX(), webview.getScrollY());
您需要子类化 WebView
以将受保护的 onScrollChanged
提升为 public 方法。
我找到了另一个解决方案。在扩展 WebView
:
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN){
int temp_ScrollY = getScrollY();
scrollTo(getScrollX(), getScrollY() + 1);
scrollTo(getScrollX(), temp_ScrollY);
}
return super.onTouchEvent(event);
}