Есть ли способ игнорировать, когда пользователь пытается уменьшить его?
Посмотрите на 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);