2

Phonegapを使用して、AndroidおよびiOS用のWebアプリケーションに取り組んでいます

要素がフォーカスされる<input>と、仮想キーボードがポップアップし、キーボードが入力要素を覆うのを避けるために iOS デバイス上で webview が一番上にパンされますが、Android ではパンしません。

ここ<meta>にhtmlのタグがあります

<meta content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale" name="viewport" />

および AndroidManifest xml

<activity
    android:name=".MainActivity"
    android:label="@string/title_activity_main"
    android:windowSoftInputMode="adjustPan"
    android:screenOrientation="portrait" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

私はちょうど設定することはできませんandroid:windowSoftInputMode="adjustResize"

ほとんどの html 要素のスタイルはパーセンテージを使用しています。使用すると html ページが混乱します。adjustResize

誰もこの問題を解決する方法を知っていますか? どうも

4

1 に答える 1

0

私の Web アプリケーションを含む Web ビューには android:windowSoftInputMode="adjustResize" が設定されており、テキスト入力がフォーカスされているときにビューにスクロールするとうまく機能することがわかりました。

var elOnFocus = function(e) { 
  var textInput = e.target;

  // Use timeout to allow window to resize
  window.setTimeout(function() {
    textInput.scrollIntoView();
  });
};

参照: Element.scrollIntoView()

于 2015-12-17T18:19:32.637 に答える