AlertDialog クラスを拡張して、アプリ内のユーザーへの小さな通知のように、画面の下部にポップアップ ビューを作成しました。そのために、ダイアログのウィンドウ プロパティをいくつか変更しました。サンプルコードは次のとおりです。
WindowManager.LayoutParams win = getWindow().getAttributes();
win.dimAmount = 0.0F;
win.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND |
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
win.height = LayoutParams.WRAP_CONTENT;
win.width = LayoutParams.MATCH_PARENT;
win.gravity = Gravity.BOTTOM;
win.windowAnimations = R.style.PopUpAnimation;
getWindow().setAttributes((android.view.WindowManager.LayoutParams) win);
ただし、ソフト キーボードがポップアップすると、ポップアップ ウィンドウはキーボードの上に残ります。ダイアログをソフトキーボードの後ろに表示するにはどうすればよいですか? または、キーボードが画面に表示されていることを検出するにはどうすればよいですか?