Android键盘导致PhoneGap应用程序扭曲/缩放笨拙



解释发生了什么的最简单方法是显示它:

在键盘打开之前:http://imageshack.us/a/img24/3285/by8h.png

我在被扭曲的区域周围画了一个红框。

键盘关闭后:http://imageshack.us/a/img27/454/6nbv.png

看着同一个区域(也被框起来),应用程序的一个区域被扭曲了。它看起来像是被放大了,但无法缩小。

我最初认为这个问题是因为键盘在打开应用程序时压缩了应用程序,但我调整了AndroidManifest.xml以防止键盘调整应用程序窗口的大小,并调整了index.html文件的<head>部分以防止页面缩放。

这是我的AndroidManifest.xml的<application>标签:

<application android:icon="@drawable/icon" android:label="@string/app_name"
    android:hardwareAccelerated="true"
    android:debuggable="true">
    <activity android:name="Craps" android:label="@string/app_name"
            android:theme="@android:style/Theme.Black.NoTitleBar"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
            android:screenOrientation="landscape"
            android:windowSoftInputMode="adjustNothing">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

我最初有android:windowSoftInputMode="adjustPan",但这并没有解决问题,我看到有人建议使用adjustNothing。我没有注意到应用程序的性能有任何差异,所以我离开了adjustNothing

这是我放在index.html的<head>中的<meta>标签,以防止缩放:

<meta name="viewport" content="user-scalable=0, width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />

我注意到的一件事是,当缓冲区<div>滚动时(发生在y-overflow上),它会调整大小并自行修复。我认为隐藏/显示受缩放影响的区域可能会解决问题,但这也不起作用。

此外,正如我构建引擎的结果一样,每当下注/获胜/失败时,该表就会被清空并重建,因此该表会不断更新/更改,但应用程序的该区域会一直缩放,直到缓冲区滚动。

有一件事在我脑海中很突出,但我不确定它是否与之有关,那就是扭曲区域中心的东西是页面该区域中唯一的图像。该表的其他标题是FontAwesome图标。这可能与此有关吗?

如果您能帮助我们找出可能导致这种情况的原因或找到可能的解决方案,我们将不胜感激!

如果我能提供更多信息来帮助追踪这个问题,请毫不犹豫地询问!

要想看到游戏正常工作/玩(它实际上在平板电脑上的Chrome中运行得很好),它位于http://duleone.com/craps/,这就是为什么这个缩放的事情让我感到困惑。

试着把这行放在html头中:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

也许可以把它放在config.xml中:

<preference name="EnableViewportScale" value="false" />

最新更新