很久没有做Android开发了,现有项目一个。突然发现弹出的对话框不对显示输入法,找了下原因。记录下来!
/**
* 弹出一个自定义对话窗口
* @param layoutID 布局ID
* @param cancelble 是否可以取消
* @return
*/
public Dialog showDialog(int layoutID, boolean cancelble) {
return showDialog(layoutID, cancelble, Gravity.CENTER, null);
}
/**
* 弹出一个自定义对话窗口
* @param layoutID 布局ID
* @param cancelble 是否可以取消
* @param gravity 显示位置
* @param cancelListener 取消事件
* @return
*/
public Dialog showDialog(int layoutID, boolean cancelble, int gravity,
OnCancelListener cancelListener) {
Builder build = new AlertDialog.Builder(this);
Dialog dialog = build.create();
dialog.show();
dialog.setCancelable(cancelble);
dialog.setCanceledOnTouchOutside(cancelble);
dialog.getWindow().setGravity(gravity);
dialog.setContentView(layoutID);
dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
dialog.getWindow().clearFlags(//不去掉焦点不能正常弹出软件键盘
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
if (cancelListener != null)
dialog.setOnCancelListener(cancelListener);
return dialog;
}
本文链接:https://it72.com/11974.htm