Кеш в веб-просмотре - PullRequest
       3

Кеш в веб-просмотре

0 голосов
/ 17 июля 2011

Я пробую класс WebView и у меня есть несколько вопросов =) Может быть, вы можете мне помочь Я заметил, что если вы заряжаете одно изображение в веб-просмотре, веб-представление изменяет его размер до ширины экрана, но с помощью мультитача вы можете уменьшить его. Есть ли способ игнорировать, когда пользователь пытается сделать его меньше? Могу ли я узнать, когда страница закончила загрузку? и, наконец, как я могу сохранить полную веб-страницу для показа ее пользователю в автономном режиме?

Заранее большое спасибо: D

1 Ответ

2 голосов
/ 26 июля 2011

Есть ли способ игнорировать, когда пользователь пытается уменьшить его?

Посмотрите на 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...