0

Chrome で正常に動作する Sencha Touch アプリがあります。ただし、Eclipse と Applaud バンドルを使用して Android アプリとしてパッケージ化すると、SoftKeyboardDetect に関連している可能性がある奇妙な動作が発生します。

ユーザーはチェックボックスをタップして、表示された情報に関するコメントを入力できます。これにより、コメントを書き込むことができるテキスト領域が再表示されます。次に、ボタンをタップして続行します。表示されていた情報が新しい情報に置き換えられ、再びチェックボックスをオンにしてコメントを入力できます。続行ボタンをタップすると、チェックボックスがオフになり、テキストエリアが非表示になります。

ユーザーが最初の情報にコメントを入力してから続行ボタンをタップすると、続行ボタンが「押された」ままになり、続行するにはもう一度タップする必要があることがわかりました。

続行ボタンを押すと SoftKeyboardDetect イベントが発生することに注意してください。これが問題の原因なのだろうか?

ユーザーが続行を押したときにテキストエリアが表示されたままになるようにコードを変更すると (つまり、非表示にならない)、問題はなくなります。問題。その電話ギャップの動作を無効にする方法を知っている人はいますか?

4

2 に答える 2

0

さて、いったい何が起こっていたのかわかりません。LogcatでSoftKeyboardDetectに関する詳細な出力を確認できるようになると、phonegapが非常に賢明なことをしているように見えることがわかりました。

テキストエリアをタップするたびに、画面エリアが変更されたかどうかがチェックされます。そうでない場合は、イベントを無視しました。textareaがフォーカスを失ったとき、つまりボタンをクリックして続行したときも同じです。

最終的に、テキストを入力したテキストエリアに、続行ボタンをクリックする直前にフォーカスが残っていると、上記のように問題が発生することがわかりました。ただし、(Senchaの「blur」メソッドを使用して)テキストを入力した可能性のあるテキスト領域からフォーカスを確実に削除すると、すべてがスムーズに機能しました。

よくわかりません。これはSoftKeyboardDetectと関係がある可能性があります。これは、phonegapによって導入されたのはそれだけであり、アプリはSenchaTouchコードのみを使用してChromeでスムーズに実行されていたためです。ただし、前述のように、SoftKeyboardDetectは非常に賢明なことをしているように見えました。

于 2012-11-27T23:43:36.110 に答える
0

CSSにこの行を追加します

* {
     -webkit-touch-callout: none;
 }

src:https://groups.google.com/forum/?fromgroups=#!topic/phonegap/_bgNkb19C_M

于 2012-11-27T07:15:47.477 に答える