在WebView Android中启用缩放选项

时间:2013-11-19 10:00:14

标签: android cordova webview

我正在使用PhoneGap开发应用程序。我无法在webview中启用内置放大/缩小功能。

我在onCreate Function

中使用了以下代码
WebView web = (WebView) findViewById(R.id.webview);
web.getSettings().setBuiltInZoomControls(true);

但它不起作用。

活动类是

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"
/> 

3 个答案:

答案 0 :(得分:19)

检查您是否没有 ScrollView 包装您的Webview。

似乎ScrollView妨碍了捏合手势。

要修复它,只需将您的Webview放在ScrollView外面,然后使用相同的行:

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

答案 1 :(得分:4)

对于Cordova 5

Cordova 5.1略有改变(我认为它实际上改为5.0) 要为Cordova 5启用Android缩放,请添加以下行:

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

和这些

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

src/com/YOURPACKAGE.java 文件的完整示例:

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);
    }
}

答案 2 :(得分:0)

使用==&gt;&gt;

web.getSettings().setBuiltInZoomControls(true);
在行==&gt;&gt;

之前

web.loadDataWithBaseURL("Your Required params");