iOS解决方法html
在Cordova(phonegap)的config.xml中增长一行配置: java
<preference name="EnableViewportScale" value="true"/> android
实际上这行只是针对 iOS 项目的。web
通常是好用的,可是某些版本的 Cordova(phonegap)会出现 bug,Android 设备出现问题。apache
建议在 Cordova 建立工程的目录下的 config.xml 文件也加上,方便之后用命令编译。app
android 解决方法ide
MainActivity.java 类this
package com.easycloud.waiter; import android.os.Bundle; import android.webkit.WebView; import org.apache.cordova.*; 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); //下面能让 Android 设备支持 viewport WebView webView = (WebView) this.appView.getView(); webView.getSettings().setLoadWithOverviewMode(true); webView.getSettings().setUseWideViewPort(true); } }
不要忘记引包。插件
注意:若是 使用了 cordova-plugin-crosswalk-webview 插件时, 若是出现这个问题,须要在插件内部修复。code
/YourProject/platforms/android/src/org/crosswalk/engine/XWalkWebViewEngine.java
找到下面代码:
private void initWebViewSettings() { webView.setVerticalScrollBarEnabled(false); //添加这样的代码 webView.getSettings().setLoadWithOverviewMode(true); webView.getSettings().setUseWideViewPort(true); //修改结束 boolean zOrderOnTop = preferences == null ? false : preferences.getBoolean(XWALK_Z_ORDER_ON_TOP, false); webView.setZOrderOnTop(zOrderOnTop); // Set xwalk webview settings by Cordova preferences. String xwalkUserAgent = preferences == null ? "" : preferences.getString(XWALK_USER_AGENT, ""); if (!xwalkUserAgent.isEmpty()) { webView.setUserAgentString(xwalkUserAgent); } String appendUserAgent = preferences.getString("AppendUserAgent", ""); if (!appendUserAgent.isEmpty()) { webView.setUserAgentString(webView.getUserAgentString() + " " + appendUserAgent); } if (preferences.contains("BackgroundColor")) { int backgroundColor = preferences.getInteger("BackgroundColor", Color.BLACK); webView.setBackgroundColor(backgroundColor); } }