1. 程式人生 > >DialogFrament配置Dialog基本配置。

DialogFrament配置Dialog基本配置。


// 隱藏Dialog的標題 ,設定Dialog為無標題模式
1.setStyle(DialogFragment.STYLE_NO_TITLE, 0);

// 設定Dialog為無標題模式
 getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);

//當Dialog中有EditText 不自動彈出軟鍵盤, 隱藏軟鍵盤
getDialog().getWindow()
.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

//設定Dialog外部點選不隱藏Dialog  
getDialog().setCanceledOnTouchOutside(false); 

//設定Dialog的背景色為透明,/ 設定Dialog背景色為透明
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

//dialog彈出後會點選螢幕或物理返回鍵,dialog不消失
//請注意這個在dialogFragment請直接使用setCancelable(false)。
dialog.setCancelable(false);

//dialog彈出後會點選螢幕,dialog不消失;點選物理返回鍵dialog消失
dialog.setCanceledOnTouchOutside(false);





dialog在dialogFragment配置

  • 總體程式碼如下
// 設定Dialog為無標題模式
setStyle(DialogFragment.STYLE_NO_TITLE, 0);

// 隱藏軟鍵盤
getDialog().getWindow()
.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

// 設定Dialog為無標題模式
getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);

// 設定Dialog背景色為透明
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

/**
 * dialog.setCanceledOnTouchOutside(false);
 * dialog彈出後會點選螢幕,dialog不消失;點選物理返回鍵dialog消失
 */

getDialog().setCanceledOnTouchOutside(dialogParams.isCanceledOnTouchOutside); 
// 注意在DialogFrament中必須這樣設定才能不彈出Dialog

/**
 *  dialog.setCancelable(false);
 *  dialog彈出後會點選螢幕或物理返回鍵,dialog不消失
 */
setCancelable(dialogParams.isCancelable);