使用 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" 可能是这里的关键。感谢您的帮助。
我有一个基于 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" 可能是这里的关键。感谢您的帮助。