Manu
Manu

Reputation: 263

Enable Zoom Option In WebView Android

I am developing the application using PhoneGap. I cannot enable built in zoom in/out in the webview.

I used Following code in onCreate Function

WebView web = (WebView) findViewById(R.id.webview);
web.getSettings().setBuiltInZoomControls(true);

But it did not work.

And The Activity class is

activity_main.xml

<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/> 

Upvotes: 6

Views: 16859

Answers (3)

Abhisekh Tripathy
Abhisekh Tripathy

Reputation: 37

Use ==>>

web.getSettings().setBuiltInZoomControls(true);

before the line ==>>

web.loadDataWithBaseURL("Your Required params");

Upvotes: 0

SweetWisher ツ
SweetWisher ツ

Reputation: 7306

Check if you don't have a ScrollView wrapping your Webview.

It seems ScrollView gets in the way of the pinch gesture.

To fix it, just take your Webview outside the ScrollView nd then use the same line:

webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);

Upvotes: 19

kris
kris

Reputation: 12620

For Cordova 5

This has changed slightly for Cordova 5.1 (I think it changed with 5.0 actually).
To enable Android zooming for Cordova 5, add these lines :

import android.webkit.WebView;
import android.webkit.WebSettings; 
import android.webkit.WebSettings.ZoomDensity;

and these

        WebView webView = (WebView) appView.getEngine().getView();
        WebSettings settings = webView.getSettings();
        settings.setBuiltInZoomControls(true);
        settings.setSupportZoom(true);

A full sample of your src/com/YOURPACKAGE.java file:

package com.YOURPACKAGE;

import android.os.Bundle;
import org.apache.cordova.*;

import android.webkit.WebView;
import android.webkit.WebSettings; 
import android.webkit.WebSettings.ZoomDensity;


public class MainActivity extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        // Set by <content src="index.html" /> in config.xml
        loadUrl(launchUrl);

        WebView webView = (WebView) appView.getEngine().getView();
        WebSettings settings = webView.getSettings();
        settings.setBuiltInZoomControls(true);
        settings.setSupportZoom(true);
        //settings.setDefaultZoom(ZoomDensity.FAR);
    }
}

Upvotes: 6

Related Questions