我扩展了 AlertDialog 类以在屏幕底部创建一个弹出视图,就像在应用程序内为用户提供一个小通知。为此,我修改了对话框的一些 Window 属性。这是一个示例代码:
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);
但是,当软键盘弹出时,弹出窗口仍保留在键盘顶部。如何使对话框位于软键盘后面,或者如何检测键盘何时在屏幕上可见?