Enable Zoom Option In WebView Android
15,963
Solution 1
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);
Solution 2
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);
}
}
Related videos on Youtube
Author by
Manu
Updated on September 15, 2022Comments
-
Manu over 1 year
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" />
-
Manu over 10 yearsmy activity_main.xml is having only webView. The above code is the entire activity_main.xml
-
SweetWisher ツ over 10 yearsThen this line should wrk webView.getSettings().setBuiltInZoomControls(true);
-
Manu over 10 yearsam getting web page with scrolling in horizontal and vertical. using above line still not enable zoom
-
Manu over 10 yearsthe zooming is now working. When i changed the webview to CordovaWebView the zooming is working.
-
SweetWisher ツ over 9 yearsIf any issue, you can ask here
-
Anthony De Souza almost 9 yearsWorked for me. Also a tip for those who want the pinch zoom but without the zoom icons displayed: webSettings.setDisplayZoomControls(false);