2

テキスト入力をページの下半分に配置すると、ユーザーがそれをタップして仮想キーボードを表示すると、ページが自動的に上にスライドします。キーボードから離れてタップすると、ページは自動的に再び下にスライドします。つまり、すべて問題ありません。

しかし、テキスト入力がページの半分にある場合 (この場合、キーボードが表示されてもページは自動的にスライドしません)、動作は良くありません:

  1. ユーザーがテキスト入力をタップします。

  2. 画面全体 (テキスト入力を除く) が一瞬黒くなり、キーボードが上にスライドします。

  3. ユーザーがキーボードから離れてタップします。

  4. ページが再びレンダリングされる前に、画面が黒く点滅します。

ただし、上記の手順をもう一度試す場合、手順はのとおりです。 1. 上記と同じ。

  1. 同上;

  2. 同上;

  3. 画面が黒くなり、黒のままです。

  4. ユーザーが黒い画面をタップします。

  5. ページが再び表示されます。

テキスト入力がフォーカスを失ったとき(つまり、キーボードが非表示になったとき)を検出してページに表示したり、ページをスクロールしたりするなど、いくつかの異なることを試しましたが、黒い画面でこの問題を防ぐものは何もないようです。

テキスト入力がフォーカスを失ったときに JavaScript アラートを表示すると、黒い画面の問題を回避できます (ただし、アラートも表示したくありません!)。

また、 AndroidManifest.xml のタグ内で android:hardwareAccelerated="true" を使用してみました。これにより、この特定の問題は解決されますが、残念ながら、Web アプリ全体でさらに多くのレンダリングの問題が発生します。

誰か提案はありますか?

4

1 に答える 1