我正在使用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"
/>
答案 0 :(得分:19)
检查您是否没有 ScrollView 包装您的Webview。
似乎ScrollView妨碍了捏合手势。
要修复它,只需将您的Webview放在ScrollView外面,然后使用相同的行:
webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);
答案 1 :(得分:4)
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");