4

PhoneGap1.6とSenchaTouch1.1.1を使用したAndroidアプリがあります。1つのビューには、Androidで奇妙に動作するテキスト入力フィールドがあります。それ自体が複製され、フォーカスを削除するのは非常に困難です。

私は、それが「実際の」入力フィールドの上に表示されるWebTextViewであると判断しました。これで私が抱えている問題は、画面タップでテキストフィールドをぼかすのが非常に難しいことです。親コンテナをスクロールすると、WebTextViewも一緒にスクロールしないため、両方を同時に表示できます。

要素へのフォーカスを削除する唯一の方法は、Mavis Beaconからフラストレーション検出器をトリガーするのと同じように、画面のすべての部分を激しくタップすることです。

私の実際の質問は、この機能を完全にオフにする方法、または少なくとも回避するにはどうすればよいですか?ユーザーがボックスの外側をシングルタップする以外のことをすることを期待すること、またはデバイスの[戻る]ボタンを押してテキストフィールドへの入力を停止することを期待することは合理的ではありません。そのままでは、Backを押すだけでソフトキーボードが収納され、フォーカスが失われることはありません。

4

1 に答える 1

1

これらは、いくつかのCSSフラグによって引き起こされるブラウザのバグです。

バグを説明するには:デバイスは、Webサイトのコンテンツからある種の「スクリーンショット」を作成します。すべての変換と遷移は、実際のページの「スクリーンショット」の上で行われます。

入力要素がある場合は、「スクリーンショット」の上にある種のプロキシ要素がレンダリングされます。これらのプロキシ要素が間違った位置にある場合があります。

これは、Webサイトをハードウェアで高速化するようにトリガーした場合に発生します。いくつかのCSS定義を削除する必要があります。

transform(), translate(), transform3d(), translate3d().

悪いニュースは次のとおり です。ブラウザ内のバグであるため、この問題を解決することはできません。

私はいくつかの異なるAndroidデバイスを持っています、すべてが異なる問題を抱えています、1つの修正は別のデバイスを壊します。

アンドロイド4.1とクローム以来、誰も組み込みブラウザを気にしないので、バグは決して解決されないと思います。

ハードウェアの加速を無効にできる場合は、これが役立つ場合があります。

良いニュースは次 のとおりです。埋め込み可能なchrome-webviewについての噂があります。

私は「新しいIE」についていくつかのブログ投稿を書き始めました:http: //christian-kuetbach.de/blog/post/14

于 2012-11-09T21:45:57.363 に答える