为了在对话框中使用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();
}
});
转载于:https://blog.51cto.com/qq445493481/1752212