9

モバイルのタッチ キーボードの入力が必要なゲームがあります。その表示には問題があり、キーボードがテキスト入力フォーカスに表示されるたびに、 position: absolute のすべての要素がすべて台無しになります。

すべての要素を再配置するためにモバイル キーボードを常に表示できるようにするプラグインはありますか、またはキーボードが表示されたときに混乱しないように要素を作成するために css を変更する必要がありますか?

これをどのように実装すればよいですか?

これは要素 css の 1 つです。

#mixer{  
    position: absolute;  
    bottom:29%;
    left:25%;
    width: 234px;  
    height: 210px;  
    background: transparent url(img/mixer.png) 0 50px no-repeat;  
} 

ここに画像の説明を入力

注: Android 環境で Jquery モバイル、phonegap を使用しています。

4

5 に答える 5

18

AndroidManifest.xml で、キーボードを使用してアクティビティの下に次の行を追加します。

android:windowSoftInputMode="adjustNothing"

于 2012-11-15T14:16:59.277 に答える
1

AndroidではなくiPadアプリでこれに遭遇しましたが、同じ問題のようです。

jQuery mobileは、サイズが変更されたときにjavascriptを使用してページの高さを設定します。ページの下部に配置されたものはすべてhtml内で上に移動し、同時にOSがビュー全体を上にスクロールして入力の前の位置を表示し続けます。

ブラウザが高さ設定を無視するようにするいくつかのcssの問題を修正しました。また、向きの変更が非常にスムーズになります。

.ui-mobile, .ui-mobile .ui-page {
    min-height: 100% !important;
    }
于 2012-11-16T03:16:12.253 に答える
1

これらのリンクをチェックしてください-

http://android-developers.blogspot.in/2009/04/updating-applications-for-on-screen.html

http://developer.android.com/reference/android/R.attr.html#windowSoftInputMode

マニフェストandroid:windowSoftInputMode="adjustResize"パラメーターをアクティビティタグに追加してみてください。

それが役に立てば幸い。

于 2012-11-16T15:19:55.430 に答える
1

あなたの問題は、「この場合」29%に設定されたBottom属性にあると思います。ボトムではなくトップで絶対値として設定したい場合があります。

そうすれば、下(この場合はキーパッド)を見るのではなく、上から押すことになります。

100 - 29 = 71 ということで、下位 29% を削除し、上位 71% に変更します。

于 2012-11-10T05:33:05.130 に答える
1

show / hide Softkeyboard イベントをリッスンします。SO に関するこの回答には、コード例があります。

Android のソフトキーボード イベント リスナー

ソフトキーボードが表示状態の場合、ゲーム用に別の「キーボード表示」CSS を使用します。ソフトキーボードが非表示になったら、以前の「keyboard-is-closed」CSS に戻します。

この以前の SO に関する Q&A は、同様の状況を扱っています。

Android 2.3.6 および iPhone 5.0 のソフト キーボードでの phonegap アプリケーションのレイアウトの問題

于 2012-11-15T07:04:55.557 に答える