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"
/>
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);
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);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With