私のアクティビティにOpenGL SurfaceViewがあり、テキストを入力するためにキーボードを使用しています(ワイヤで送信します)。そこにはのEditText存在ではありませんので、私は使用して表示されるキーボードを強制しています:ランドスケープキーボードが不明確に表示
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
活動は属性android:windowSoftInputMode="adjustResize"
を定義しており、これはポートレートモードで素晴らしい作品、キーボードが表示されている場合、レイアウトがリサイズされている場所(とそれゆえ、サーフェイスも同様です)。それは景観モードでは起こっていませんが、これはサーフェイスビュー(実際にはほとんどのもの)の一部を不明瞭にします。サーフェイスビューはパンとズームを実装しているので、少なくとも表示されているキーボードのサイズを知って、それに応じてサーフェイスビューの位置を変えることができれば素晴らしいでしょう。
ソフトキーボードは、ポートレートモードと同じようにランドスケープで動作させる方法があります(つまり、レイアウトのサイズが変更されることを意味します)。そうでない場合は、キーボードの高さを取得する方法はありますか(明らかに全画面表示)?