- 2012-05-10 (木) 20:47
- Android
WebViewを使うことで簡単にブラウザ機能を実装することができます。
まずはレイアウトファイル。
こんな感じで記述します。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <WebView android:id="@+id/wv_Main" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
プログラム側でWebViewクラスの loadUrl() を呼び出すことで対象ページを表示できます。
pubcli void loadGooglePage() { WebView wvMain = (WebView)findViewById(R.id.wv_Main); wvMain.loadUrl("http://google.co.jp"); }
表示の拡大/縮小
表示を拡大/縮小するために各種メソッドが用意されています。
拡大
拡大表示するにはWebViewクラスの zoomIn() を使用します。
このメソッドを呼ぶと1段階拡大して表示されます。
縮小
縮小表示するにはWebViewクラスの zoomOut() を使用します。
このメソッドを呼ぶと1段階縮小して表示されます。
ズームリセット
拡大/縮小された状態をリセットし、規定の倍率で表示することもできます。
リセットにはWebViewクラスの resetZoom() を使用します。
ズームコントロール
WebSettingsクラスの setBuiltInZoomControls() でズームコントロールを表示/非表示することができます。
WebSettingsオブジェクトはWebViewクラスの getSettings() で取得できます。
WebView webView = (WebView)findViewById(id.webview); WebSettings settings = webView.getSettings(); settings.setBuiltInZoomControls(true);
倍率指定
拡大/縮小処理に比べると多少ややこしくなりますが、WebViewクラスの setInitialScale() で倍率を指定することもできます。
このメソッドの引数(scaleInPercent)には倍率をパーセント指定したものを渡します。換算式は次のようになっています。
[デバイス画面幅] * 100 / scaleInPercent px
全体表示したい場合は、とりあえず引数に1を渡しておけば大丈夫でしょう。
キャッシュクリア
キャッシュに対象URLページのデータが残っていると、Web上ではページが更新されているにも関わらず表示ページは古いまま・・・なんてことがあります。
このような場合はキャッシュをクリアすることで最新のページを表示することができるようになります。
キャッシュクリアにはWebViewクラスの clearCache() を使います。
public void anyFunc() { ... wvMain.clearCache(true); ... }
引数にはキャッシュファイルを削除するかどうかを指定します。
なお、キャッシュクリアされたページを開く際は必ずWebアクセスが発生します。
処理速度の面では不利になるので注意してください。
関連があると思われる記事:
- Newer: [Android] 背景色の設定
- Older: [Android] ログ出力
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://gacken.com/wp/program/android/911/trackback/
- Listed below are links to weblogs that reference
- [Android] WebViewで簡易ブラウジング from ミライニトドケ