WebViewでロードしたページ全体を表示する

WebViewを弄ってみて、ページ全体を表示するのに偉い苦労したので忘れず記録しておきます。

やり方

WebSettingsを使って、WebViewのWide ViewPortとOverviewモードをONにする。

コード

@Override
public void onCreate(Bundle savedInstanceState){
    //(中略)
    WebView mWebView = (WebView) findViewById(R.id.hoge);
    mWebView.getSettings().setUseWideViewPort(true);
    mWebView.getSettings().setLoadWithOverviewMode(true);
    mWebView.loadUrl("hogehoge");
}

解説

WebSettingsの

  • setUseWideViewPort(true)でWide ViewPortをON
  • setLoadWithOverviewMode(true)でOverviewモードをON

にしています。

Wide ViewPortでは、ページのサイズが画面サイズよりも大きい場合に画面に収めるように縮小できます。また、Overviewモードはページが画面に収まるように自動で縮小します。
Wide ViewPortとOverviewモードを組み合わせることで、ロードしたページ全体が画面に表示されるようになります。
※挙動から推測なので違うかもしれません。