爲了在對話框中使用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(); } });