WebViewに拡大/縮小機能をつける方法

前回はAndroidアプリへのWebページの表示について紹介しました。

今回からはその続きとしてWebViewのカスタマイズを行っていきましょう。
まずは表示の拡大・縮小機能を追加する方法を紹介します。
webview3.png
標準のズーム機能を使用するためには「setBuiltInZoomControls」メソッドを使用します。
「setBuiltInZoomControls」の引数に「true」を指定すれば拡大縮小が利用可能になります。

「TestAppActivity.java」のコード
package com.fc2.blog.android49.testapp;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class TestAppActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//WebViewインスタンスを取得
WebView webview = (WebView)findViewById(R.id.WebView);
//loadUrlメソッドを呼び出し
webview.loadUrl("http://www.google.com/");

//ズーム機能を有効にする
webview.getSettings().setBuiltInZoomControls(true);
}
}

「main.xml」のコード
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android= "http://schemas.android.com/apk/res/android"
android:orientation="vertical"
xmlns:app= "http://schemas.android.com/apk/res/jp.tuyano.sample"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<WebView
android:id="@+id/WebView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>

</LinearLayout>

「AndroidManifest.xml」のコード
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fc2.blog.android49.testapp"
android:versionCode="1"
android:versionName="1.0" >


<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET" />

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >

<activity
android:label="@string/app_name"
android:name=".TestAppActivity" >

<intent-filter >
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

「main.xml」と「AndroidManifest.xml」のコードは前回の記事「WebViewを使ったWebページの表示方法」とまったく一緒です。
変化したのは「TestAppActivity.java」に1行追加されただけです。

webview.getSettings().setBuiltInZoomControls(true);

たったこれだけの記述でズーム機能が使えるようになります。
必要に応じて画面右下の拡大縮小ボタンが表示されるようになり、拡大縮小ができるようになります。
また、マルチタッチのピンチイン・ピンチアウトによる拡大縮小も可能になります。
ピンチインピンチアウトは実機テストで確認できます。

表示するサイトのURLは今回Googleを設定してあるので、自由に変更してテストしていただいてかまいません。

webview3.png webview2.png

テーマ : androidアプリ
ジャンル : 携帯電話・PHS

コメントの投稿

非公開コメント

おすすめアイテム
Android SDK逆引きハンドブック
Android SDK逆引きハンドブック

↑内容が充実していて一番のオススメです!
中級者から上級者向け

TOSHIBA REGZA Tablet AT3S0/35D レグザタブレット Android3.2 タッチパネル付き 7型ワイド PA3S035DNAS
TOSHIBA REGZA Tablet AT3S0/35D レグザタブレット Android3.2 タッチパネル付き 7型ワイド PA3S035DNAS

↑軽くて持ち運びにも便利なサイズ。私も使いましたがかなり使いやすくてオススメです。


スマホのアクセサリ-