我正在尝试WebView类并有一些问题=)也许你可以帮助我 我注意到,如果您在webview中为单个图像收费,则webview会将其调整为屏幕宽度,但使用多点触控可以使其缩小。 有什么方法可以在用户试图缩小时忽略它吗? 我可以知道页面何时完成加载? 最后,如何保存完整的网页,以便在离线模式下向用户显示?
提前非常感谢:D
答案 0 :(得分:2)
当用户试图缩小时,有没有办法忽略?
查看WebSettings.setSupportZoom()
我可以知道页面何时完成加载?
将自定义WebChromeClient配置为进度侦听器,如下所示:
webview.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int progress)
{
if (progress == 100)
{
// do something
}
}
});
如何保存完整网页,以便在离线模式下向用户展示?
嗯,我也想知道,但我认为不可能。现在我正在设置一个积极的缓存模式(WebSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK)
),如果我的URL无法从缓存中加载,我从资源加载一个本地可用的缓存模式:
final String urlToLoad = "http://www.my-url.com";
webview.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl)
{
if (urlToLoad.equals(failingUrl))
{
view.loadUrl("file:///android_res/raw/local_copy.html");
return;
}
super.onReceivedError(view, errorCode, description, failingUrl);
}
});
webview.loadUrl(urlToLoad);