2011-07-17 2 views
0

나는 WebView 클래스를 사용하고 있는데 몇 가지 질문이 있습니다.) 어쩌면 당신을 도울 수 있습니다. webview에서 하나의 이미지를 청구하면 webview가 화면 너비에 크기를 조정하지만 멀티 터치로 작게 만들 수 있습니다. 사용자가이를 더 작게 만들려고 할 때 무시할 수있는 방법이 있습니까? 페이지로드가 완료되면 알 수 있습니까? 마지막으로 오프라인 모드에서 사용자에게 표시하기 위해 전체 웹 페이지를 어떻게 저장할 수 있습니까? 사전에 너무 많은웹보기에 캐시하기

감사합니다 : 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을로드 할 수없는 경우 자원에서 로컬로로드 할 수있는 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); 
관련 문제