AlertDialog中EditText不能弹出输入法解决方法

Home / Android MrLee 2017-4-7 4111

很久没有做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://www.it72.com/11974.htm

推荐阅读
最新回复 (0)
返回