为了在对话框中使用editText输入文字,别的自定义方法都没用,得这样:

Dialog dialog = new Dialog(context);

但这样会有个讨厌的title,所以得去掉:

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

在自定义对话框时,有时候需要宽度全屏,但部分Activity的主题会有问题,所以需要加上:

Window window = dialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
window.setAttributes(lp);

有些继承AlertDialog的自定义对话框则需要写在onCreate()方法里.

打开对话框时显示软键盘:

 dialog.getWindow().setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);




if(manager==null)
			manager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
		manager.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
		final View btn0 = window.findViewById(R.id.pop_index_store_creat_btn0);
		btn0.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				manager.hideSoftInputFromWindow(edit0.getWindowToken(),0);
				dialogActive.dismiss();
			}
		});