アクティビティにOpenGLSurfaceViewがあり、キーボードを使用してテキストを入力しています(ネットワーク経由で送信します)。EditTextが存在しないため、次を使用してキーボードを強制的に表示しています。
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
アクティビティには属性が定義されてandroid:windowSoftInputMode="adjustResize"
おり、これは、キーボードが表示されたときにレイアウトのサイズが変更される(したがってサーフェスビューも)ポートレートモードでうまく機能します。ただし、ランドスケープモードでは発生しないため、サーフェスビューの一部(実際にはほとんど)が不明瞭になります。サーフェスビューはパンとズームを実装しているので、少なくとも表示されているキーボードのサイズを把握し、それに応じてサーフェスビューを再配置できれば素晴らしいと思います。
ソフトキーボードを横向きで縦向きモードと同じように動作させる方法はありますか(つまり、レイアウトのサイズが変更されます)?そうでない場合は、キーボードの高さを取得する方法はありますか(明らかに全画面表示)?