2012-12-11 3 views
7

Ich möchte mit folgenden LayoutLinearlayout analog innen Tabelle in Libgdx

| label | 
| btn btn btn | 
| label | 

Mein Code sieht ein Spiel Menübildschirm in Libgdx mit scene2d Paket erstellen, wie folgt:

Table table = getTable(); 
table.add(label1); 
table.row(); 
table.add(button1); 
table.add(button2); 
table.add(button3); 
table.row(); 
table.add(label2); 
table.row(); 

Aber statt dessen, was ich so etwas wie dies möchte ich:

| label  | 
| btn btn btn | 
| label  | 

Der Grund ist, weil jeder table.add() m ethod call erstellt eine neue Zelle. Aber ich möchte alle meine 3 Tasten in einer Zelle platzieren. Wie kann ich das gewünschte Ergebnis erzielen, kann in LibGDX etwas wie LinearLayout oder was auch immer vorhanden sein?

Antwort

9

Anruf colspan(3) auf die Zelle, die an Sie zurückgegeben wird, wenn add(label);

ex aufrufen.

Cell cell = table.add(label1); 
cell.colspan(3); 

Dies, wie der Name sagt, legt fest, wie viele Spalten die Zelle überspannt. Möglicherweise müssen Sie durch den Aufruf cell.center();

Sie können aneinanderzureihen diese Anrufe die Ausrichtung auf die Zelle auch festlegen, da sie alle die gleiche Zelle Objekt zurückgeben ..

table.add(label1).colspan(3).center(); 

The Cell-Klasse nicht dokumentiert scheint für libgdx .. Ich ging einfach auf den Quellcode gefunden here

Die Zellklasse Dokumentation kann für jetzt gefunden werden here. Es scheint in den offiziellen Dokumenten zu fehlen.