AlertDialog与Android中的自定义键盘重叠



我正在尝试创建一个带有滚动视图的对话框,该对话框从我的自定义键盘的按键单击事件中显示。以下是代码片段。对话框警报与键盘重叠。有没有办法把它放在键盘上方?

AlertDialog dialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
dialog = builder
.setPositiveButton("ok", null)
.setView(mView)
.create();
Window window = dialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.token = mInputView.getWindowToken();
lp.type = WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_DIALOG;
window.setAttributes(lp);
window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
dialog.show();

你可以尝试使用setSoftInputMode

指定要用于窗口的显式软输入模式,根据 WindowManager.LayoutParams.softInputMode. 提供除 此处的"未指定"将覆盖窗口将覆盖的输入模式 通常从其主题中检索。

......
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
dialog.show();

最新更新