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(); 
        }
    });
}
4

2 に答える 2

1

おそらく、アラート ダイアログのビューをリストに設定しているはずです。必要なものをすばやく取得する方法を次に示します。

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

ここで、d は作成されたダイアログです。これにより、幅と高さの値を設定できます。

于 2012-12-05T04:21:38.157 に答える
0

カスタム ダイアログ レイアウト:

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));
于 2012-12-05T13:39:56.293 に答える