Also ich weiss nicht was du vorhast. Aber lass mich diesen Ratschlag loswerden: Wenn du, je nachdem wo der User geklickt hat, andere Deialoge zeigen willst, kommst du mit dem Zusammenbasteln zur Laufzeit in die Hölle. In diesem Fall macht es mehr Sinn, den Dialog mit dem Layout wie beschrieben als abstrakte Klasse zu definieren und für jeden Dialog-Typ dann eine Unterklasse anzulegen. Bei den Unterklassen sollte der "aussenstehende" UI-Code auch keine Elemente Hinzufügen/Entfernen sondern jediglich über getter und setter vom Dialog-Objekt die nötigen Eigenschaften festlegen.
Das bringt folgende Vorteile: Wenn du später das Layout für einen Anwendungsfall ändern willst, musst du es nur an einer Stelle tun. Wenn du den einen Dialog an mehreren Stellen verwenden willst ersparst du dir Copy&Past und krasse inkonsistenzen.