2011-07-17 110 views
0

我試着類的WebView,並有幾個問題=)也許你可以幫我 我注意到,如果你的網頁流量收取單一的形象,web視圖它會調整到屏幕的寬度,但多點觸控可以讓它更小。 有沒有什麼方法可以忽略用戶試圖縮小它的時間? 我可以知道頁面何時完成加載? 最後如何保存一個完整的網頁以便在離線模式下顯示給用戶?緩存在網頁視圖

感謝這麼多提前:d

回答

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);