设置视口宽度在科尔多瓦 7 上被忽略



几年前,我开发了一个cordova/phonegap应用程序。我需要将屏幕宽度固定为 1200(某些设备的宽度为 962px),所以我添加了一个元标记来设置视口内容宽度,例如

<meta name="viewport" content="width=1200, user-scalable-no">

最近我不得不添加一些新功能并升级到最新的 cordova/phonegap 版本 (7.0.1/6.5.0),似乎忽略了视口元标记。运行旧版本,我可以在chrome开发工具中看到html宽度为1200px,但对于较新版本,html宽度仍为960px

关于如何解决此问题的任何想法?

我终于可以通过编辑 android 平台文件夹中的 MainActivity.java 文件来解决这个问题。 此文件声明一个继承自 CordovaActivity 的类,并重写 onCreate 方法。现在似乎需要设置几个设置,以便 Web 视图使用"视口"元。

我在 MainActivity 中的 onCreate 方法.java现在看起来像:

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// enable Cordova apps to be started in the background
Bundle extras = getIntent().getExtras();
if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
moveTaskToBack(true);
}
// Set by <content src="index.html" /> in config.xml
if(appView == null)
init();
WebView webView = (WebView)appView.getView();
WebSettings settings = webView.getSettings();
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);
loadUrl(launchUrl);
}

关键是将集合"LoadWithOverviewMode"和"UseWideViewPort"调用为true。

现在应用程序按预期工作

最新更新