2

我有恰好 480 像素宽度的 PhoneGap Android 应用程序,我想在每个可能的 Android 设备上将视口大小设置为这个大小

我试过这个标签:

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

但是我测试过的所有设备和模拟器都忽略了它。然后我尝试了:

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

这有效,但仅在某些(较小的)设备上有效。在 mu Samsung GT 上,它提供正确的 480 像素宽视口,但在平板电脑上启动时,它提供 800 像素宽视口。

我错过了一些明显的东西吗?

4

2 回答 2

2

经过几个小时的调试,我终于找到了解决方案:

WebView忽略视口的宽度,除非明确告知要在 OverviewMode 中加载。因此,如果有人从 Google 来到这里,解决方案如下:

添加到您的 Java 源代码:

public class YourGame extends DroidGap
{       
    super.onCreate(savedInstanceState);
    super.init(); // Don't forget this, you'll get runtime error otherwise!

    // The following does the trick:
    super.appView.getSettings().setUseWideViewPort(true);
    super.appView.getSettings().setLoadWithOverviewMode(true);

    super.loadUrl("file:///android_asset/www/index.htm");
}
于 2013-02-04T00:52:27.013 回答
2

不知道为什么,但我必须, target-densityDpi=device-dpi从视口标签中删除才能让它工作——接受的答案对我没有帮助。

使用三星 Galaxy Nexus

于 2013-09-08T13:52:42.550 回答