0

私のAndroidアプリには異常な問題があります。 Webページに入力フィールドをフォーカスすると、ソフトキーボードが現れ、すぐに消えます。Androidアプリの消えるソフトキーボード

このアプリはブラウザ機能のためにCrosswalkを統合していますが、以前はWebViewを使用していた時にこれが起こっていたと言いたいと思います。

これは、問題のスクリーンの録音です:

Disappearing soft keyboard

それが押し上げやソフトキーボードに対応するために、HTMLのサイズを変更しますが、何らかの理由で失敗しているようです。

なぜこのようなことが起こり、さらに重要なのは、どのように修正するのか知っていますか?


EDIT:私のAndroidManifest.xmlファイルにwindowSoftInputMode = "adjustPan"、問題は発生しません:私はアンドロイドを追加する場合は検出されませんでした。 に設定すると、「adjustResize」が常に発生します。誰もが答えを知っている場合

は、まだいくつかの助けを大好きだ:)

答えて

0

これに対する解決策は、(多くがあるうち)Androidの癖に回避策です。私が読んだところでは、これはiOSでは起こりませんが、確認するためにテストしていません。

問題は、ソフトキーボードが表示され、ウィンドウのサイズが変更されることです。私がそうであるように、レスポンシブウェブサイトで作業しているときは、サイズ変更を処理するコードを持つ可能性が高いです。キーボードが表示されたら、ウィンドウのサイズ変更が発生し、カスタムサイズ変更コードのためにキーボードが消えます。


解決方法1:

ソリューションはorientationchangeイベントであることをサイズ変更イベントを書き換えることです。これは理想的な状況ではありませんが、アプリが唯一のターゲットであれば、それはうまくいくはずです。明確にするために

、(jQueryのを使用して)からの変化:(jQueryのを使用して)へ

$(window).resize (function() 
{ 
    // Code on resize 
}); 

変更:

$(window).bind ('orientationchange', function() 
{ 
    // Code on screen rotation 
}); 

それはありませんので、私はorientationchange用ブラウザのサポートのわかりませんhttp://caniuse.comで利用できますが、現在のバージョンのCrosswalk(19.49.514.4)で動作すると言えます。


解決方法2:https://stackoverflow.com/a/9229672/3509051でchrisdewによって提案

代替ソリューションは、「0.5秒のためのイベントのサイズを変更するには反応し無効入力のフォーカスイベントにリスナーを追加する。」ことを示唆しています。これは、入力がフォーカスされているときに0.5秒の遅延があってもうれしい場合にも有効です。

関連する問題