WebViewの補足


WebViewについての補足です。

タイトルバーにページ読み込みの進捗状況を示すプログレスバーを表示させます。

requestWindowFeature(Window.FEATURE_PROGRESS);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

上が横方向に伸びるプログレスバー、下が回転する円形のプログレスバーになります。

WEBブラウザの設定を変更できる WebSettings は、基本的に何度も設定を変更することはないのでonCreateで一度以下のように記述しておけば大丈夫です。

WebSettings ws = webView1.getSettings();

ピンチズームが可能かどうかの設定はデフォルトではfalseになっています。
以下の記述で、trueにすることができます。

ws.setBuiltInZoomControls(true);

ダブルタップでの拡大縮小はfalseでも可能となっています。

Javascript を許可するかどうかの設定は、デフォルトではfalseになっています。
Javascript を許可しないと、Javascriptを使用しているコメント等が表示されなくなってしまいます。
以下の記述で、trueにすることができます。

ws.setJavaScriptEnabled(true);

読み込み時にページの横幅を画面幅に合わせて表示するかどうかの設定です。

ws.setLoadWithOverviewMode(true); // API Level 7 Android2.1以上

これを設定しないと一部分が拡大されたように表示されます。
この設定が使えないAndroid2.1未満の機種でこの表示を回避するには、以下を記述します。

mWV.setInitialScale(1); // 表示倍率 : [DeviceWidth]*100/n px

上記のメソッドで表示倍率を設定します。換算式はコメント部分を参照してください。
100 (%) で等倍px表示:機種の横幅が 480px ならばページの左上から 480px を表示します。
n = 1 の時、機種の横幅が 480px ならば理論上では、横幅 48000px までのページを全体表示することができます。

プラグインを有効にするかどうかの設定は、デフォルトではfalseになっています。
以下の記述で、trueにすることができます。

ws.setPluginsEnabled(true);

プラグインを有効にしておかないと、例えば YouTube などが再生ができなくなります。

フォームデータとパスワードを記憶するかどうかの設定です。

ws.setSaveFormData(true);
ws.setSavePassword(true);

スクロールバーの設定です。

mWV.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);
mWV.setVerticalScrollbarOverlay(true);

内側に、オーバーレイにスクロールバーを描画させることによってスクロールバーの分の描画スペースを確保させなくしています。
確保させてしまうとそこにスクロールさせることが出来てしまうためです。
設定が被り気味なので二つ目は必要ない場合もあります。

Comments

comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です