2012-12-04 81 views
0

我有這個AlertDialog並帶有動態列表(當列表中的項目被選中時,列表的內容也會發生變化)。問題在於初始對話框的高度與父對象相匹配,但是當內容被更改並且尺寸更小時,對話框會封裝內容。我如何避免這種情況?更改內容時的警報對話框大小

public ExplorerDialog(Context context, final SettingsDialog settingsDialog, int fileType) { 
    super(context); 

    setIcon(R.drawable.dialog_explorer_file_manager); 
    setTitle("Explorer Dialog"); 
    setView(LayoutInflater.from(context).inflate(R.layout.dialog_explorer_layout, null)); 
    setButton(BUTTON_POSITIVE, "Done", new OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
      settingsDialog.show(); 
     } 
    }); 

    setButton(BUTTON_NEGATIVE, "Cancel", new OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
      settingsDialog.show(); 
     } 
    }); 
} 
+0

請出示相關的代碼,比如你如何建立你的'AlertDialog ' – jnthnjns

+0

這是代碼: –

+0

public ExplorerDialog(Context context,final SettingsDialog settingsDialog,int fileType){\t \t s UPER(上下文); \t \t \t \t setIcon(R.drawable.dialog_explorer_file_manager); \t \t setTitle(「Explorer Dialog」); \t \t setView(LayoutInflater.from(context).inflate(R.layout.dialog_explorer_layout,null)); \t \t SET按鈕(BUTTON_POSITIVE, 「完成」,新OnClickListener(){ \t \t \t公共無效的onClick(DialogInterface對話框,其中INT){ \t \t \t \t settingsDialog.show(); \t \t \t} \t \t }); \t \t SET按鈕(BUTTON_NEGATIVE, 「取消」,新OnClickListener(){ \t \t \t公共無效的onClick(DialogInterface對話框,其中INT){ \t \t \t \t settingsDialog.show(); \t \t}});} –

回答

1

你可能已經設置好您的alertdialog到列表的視圖,這裏有一個快速的方法來得到你想要的東西:

d.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, 600) 

其中d是創建對話框,這允許您設置寬度和高度的值。

+0

d應該是我的警報對話框?我已經嘗試過,並且仍在調整大小 –

0

您cusyom對話框佈局:

LinearLayout dialoglayout = (LinearLayout) dialog.findViewById(R.id.dialoglayout); 

dialoglayout.setLayoutParams(new FrameLayout.LayoutParams(700,1100)); 

如果你想屏幕尺寸的寬度:

dialoglayout.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,1100));