ped*_*000 5 android webview chromium webviewclient android-4.4-kitkat
我有自定义的WebView类,其中默认的zoomIn/zoomOut控件被禁用,我手动处理缩放事件.
我还有WebViewClient,其中onScaleChanged()处理程序被覆盖,它看起来像这样:
mWebViewClient = new WebViewClient(){
@Override
public void onScaleChanged(WebView view, float oldScale, float newScale) {
super.onScaleChanged(view, oldScale, newScale);
System.out.println("Scale changed");
}
};
Run Code Online (Sandbox Code Playgroud)
调用zoomIn()/ zoomOut()时会出现问题,而onScaleChanged()处理程序执行多次,我会多次"缩放".每个zoomIn()/ zoomOut()事件只应调用一次此事件.
另外值得一提的是,此问题仅在Android版本低于4.4的设备上发生.在Android 4.4上,每个缩放事件只调用一次处理程序(应该是这样).我在Android 4.3.1,Android 4.1.1以及Android 4.0.4(所有设备都是手机)上遇到了这个问题.
众所周知,从Android 4.4引入了Chromium驱动的WebViews,我猜这个更新已经解决了这个问题,但是我无法在Web上找到任何相关内容.
为什么在WebKit引擎支持的WebView上多次调用此处理程序,以及在Chromium支持的WebView上,它按预期工作?
| 归档时间: |
|
| 查看次数: |
2008 次 |
| 最近记录: |