Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Android PhoneGap应用程序没有像Chrome/浏览器页面那样调整内容大小_Javascript_Android_Cordova_Svg - Fatal编程技术网

Javascript Android PhoneGap应用程序没有像Chrome/浏览器页面那样调整内容大小

Javascript Android PhoneGap应用程序没有像Chrome/浏览器页面那样调整内容大小,javascript,android,cordova,svg,Javascript,Android,Cordova,Svg,我使用HTML5、Javascript和大量SVG图形创建了一个网页。它在本机Android浏览器和我的Android平板电脑上的最新Chrome浏览器上运行良好 我已经将我的应用程序包装在PhoneGap中,并将其部署在emulator中。一切都好。然后我把它部署在平板电脑上。我没有得到同样的结果 当我的META标记包含“target densitydpi=“device dpi”时,我的SVG图形计算的大小与浏览器中的一样大,但文本大小约为一半 我被告知target densitydpi已被

我使用HTML5、Javascript和大量SVG图形创建了一个网页。它在本机Android浏览器和我的Android平板电脑上的最新Chrome浏览器上运行良好

我已经将我的应用程序包装在PhoneGap中,并将其部署在emulator中。一切都好。然后我把它部署在平板电脑上。我没有得到同样的结果

当我的META标记包含“target densitydpi=“device dpi”时,我的SVG图形计算的大小与浏览器中的一样大,但文本大小约为一半

我被告知target densitydpi已被弃用,因此我正在尝试找出正确的方法

我有以下活动_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>
avidWrapper是一个SVG,名义上是318像素的正方形。这就是高度和宽度设置相同的原因

我放了一些警报告诉我发生了什么

在桌面浏览器中:

window.screen.availWidth: 1600
window.screen.availHeight: 860
minWindowDim: 860
maxWindowDim: 1600
minEffectiveDim: 860
minDim: 817   // This is 95% of minEffectiveDim.
avidWrapper.clientWidth: 318
然后我将宽度和高度从318调整到817,我很高兴

在平板电脑的Chrome上:

window.screen.availWidth: 601
window.screen.availHeight: 906
minWindowDim: 601
maxWindowDim: 906
minEffectiveDim: 601
minDim: 570.95   // This is 95% of minEffectiveDim.
avidWrapper.clientWidth: 318
window.screen.availWidth: 800
window.screen.availHeight: 1206
minWindowDim: 800
maxWindowDim: 1206
minEffectiveDim: 800
minDim: 760.95   // This is 95% of minEffectiveDim.
avidWrapper.clientWidth: 318
作为平板电脑上的PhoneGap应用程序:

window.screen.availWidth: 601
window.screen.availHeight: 906
minWindowDim: 601
maxWindowDim: 906
minEffectiveDim: 601
minDim: 570.95   // This is 95% of minEffectiveDim.
avidWrapper.clientWidth: 318
window.screen.availWidth: 800
window.screen.availHeight: 1206
minWindowDim: 800
maxWindowDim: 1206
minEffectiveDim: 800
minDim: 760.95   // This is 95% of minEffectiveDim.
avidWrapper.clientWidth: 318
展开后,AvidRapper将超出设备边界,需要滚动才能查看所有内容

计算的目的是限制一些东西。PhoneGap看到的数字是Chrome看到的(800/600=)1.33。我在我的PhoneGap项目(通过Eclipse编写)的源代码中没有看到任何1.33或0.75。我不确定这里是否有“虚拟像素大小”

有安卓或PhoneGap的人能告诉我在哪里解决这个问题吗

提前感谢,, 杰罗姆

更新日期:2014年11月2日上午9时:

我发现window.devicePixelRatio,我的平板电脑是1.33。这与Chrome和PhoneGap之间的差异相匹配

我可以在PhoneGap应用程序启动时将该因素添加到我的计算中。我的问题围绕一个相关问题。为什么Chrome报告CSS像素的大小?我今天晚些时候会做一些测量。可能window.screen.availWidth是错误的测量…

这可能会对您有所帮助