使用 PhoneGap 移植到 Android 应用程序的网页不会调整大小以显示

Web pages ported to Android app using PhoneGap will not resize to display

我有一个基于 Web 的工具,我已使用我的 Github 存储库中的 PhoneGap 移植到 Android。但是,当安装应用程序并在 Android 上 运行 时,页面太大无法显示,我必须在显示屏内不断移动它以使其不同部分可见和使用控件。

我已经按照某些人的建议在网页中添加了一个 "meta" 标签,并且指定了宽度并将其设置为用户可缩放,但这不起作用。我还在 config.xml.

中将 "EnableViewportScale" 设置为 "true"
<head> 
<meta name="viewport" content="width=896, user-scalable=yes" />             
<title>Main Menu</title>

我已经为此工作了几个小时,但我尝试过的任何方法都没有奏效。我究竟做错了什么?如果有任何帮助,我将不胜感激。

我的config.xml是这样的:

<?xml version='1.0' encoding='utf-8'?>
<widget xmlns = "http://www.w3.org/ns/widgets"
    xmlns:gap = "http://phonegap.com/ns/1.0"
    xmlns:android = "http://schemas.android.com/apk/res/android"
    id = "com.phonegap.dvams"
    version = "1.0.0">
    <name>Name</name>
    <description>Description</description>
    <preference name="phonegap-version" value="cli-6.5.0" />
    <preference name="permissions" value="none" />
    <preference name="orientation" value="portrait" />
    <preference name="target-device" value="universal" />
    <preference name="fullscreen" value="false" />
    <preference name="EnableViewportScale" value="true" />
    <icon src="icon.png" />
    <splash src="splash.png" />
</widget>

有类似问题的人报告说他们更改了 "AndroidManifest.xml" 文件中的内容。然而,我被告知 PhoneGap 会在您编译时自动生成此文件,并且只有 config.xml 文件可供我使用。我可以在 config.xml 中输入什么来完成这项工作吗?如果您有一些 javascript 代码建议作为解决方案,请告诉我它需要在 html 页面上的什么位置。

我还在我的 windows.onload 活动中尝试了以下代码,但它只是让我页面上的所有文本都消失了。

webview.setInitialScale(1);
webview.getSettings().setLoadWithOverviewMode(true);
webview.getSettings().setUseWideViewPort(true);
webview.getSettings().setJavaScriptEnabled(true);

怎么样

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

这能解决您的问题吗?

Papakias - 你很接近。最终起作用的字符串是:

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> 

我认为 "target-densitydpi=device-dpi" 可能是这里的关键。感谢您的帮助。