13

現在、開発中のモバイルアプリにPhoneGapを使用しています。ログイン画面でテキストフィールドを選択すると、キーボードが上にスライドするとビューが水平方向に縮小します。これはAndroidでのみ発生し、iOSでは発生しません。

これは私が心配していることです。なぜなら、私には下のツールバーがありposition:absolute; bottom:0;、このツールバーはキーボードが表示されたときにAndroidで押し上げられるからです。iOSでは、キーボードは単にそれをオーバーレイするだけです。

4

3 に答える 3

26

あなたの主な活動にAndroidManifest.xml以下を追加してください:

android:windowSoftInputMode="adjustPan"

android:configChanges="orientation|keyboardHidden"

index.htmlトラウマレスが指摘したことを追加してください:

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />
于 2012-07-31T12:40:18.490 に答える
5

Eu Vidの答えに加えて、Cordova 6.4.0以降<edit-config />には、変更に使用できるサポートがあることを指摘したいと思いAndroidManifest.xmlます。

まず、android名前空間属性を追加する必要があります。で、に新しい属性をconfig.xml追加します。ウィジェットブロックは次のようになります。xmlns:android="http://schemas.android.com/apk/res/android"<widget />

<widget
    id="com.my.app"
    version="0.0.1"
    xmlns="http://www.w3.org/ns/widgets"
    xmlns:cdv="http://cordova.apache.org/ns/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android">

次に、次のコードを内部 に追加します<widget />

<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity">
    <activity android:configChanges="orientation|keyboardHidden" android:windowSoftInputMode="adjustPan" />
</edit-config>

これで、を呼び出すとcordova platform add androidAndroidManifest.xml上記の設定でが生成されます。

ノート:

  • 上記のコードはブロックを上書きしません<activity>が、ブロックとマージします。指定されたxml属性のみを置き換えます。
  • cordova platform add android事前に電話をかけている場合は、cordova platform rm android最初に入力してから再度追加することで削除できます。
于 2017-11-01T08:15:14.073 に答える
0

追加

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

あなたの頭のタグに

于 2012-04-09T17:49:08.090 に答える