2016-05-28 16 views
1

Ich habe einen Fortschrittsbalken zu meiner Bühne hinzugefügt und er erhält eine Standardbreite wie erwartet. Allerdings möchte ich die Breite ein wenig ändern, aber aus irgendeinem Grund LibGDX nicht. Ich habe setSize, setWidth, setMinWidth am Hintergrund des Fortschrittsbalkens versucht und die Textur geändert. Nichts funktioniert. Das einzige, was ich bekommen kann, um die Größe zu ändern, ist der Knopf.Scene2d Fortschrittsbalken wird nicht skaliert

Hier ist der Code:

background = new Texture("progress_bar_texture"); 
knob = new Texture("knob_texture"); 

ProgressBar.ProgressBarStyle pbs = new ProgressBar.ProgressBarStyle(); 
pbs.background = new TextureRegionDrawable(new TextureRegion(background));  
pbs.knob = new TextureRegionDrawable(new TextureRegion(knob)); 
pbs.knobAfter = pbs.knob; 

progressBar = new ProgressBar(0f, 80f, 1f, false, pbs); 
progressBar.setWidth(400); // This doesn't change anything at all... 

table.add(progressBar).right().colspan(1).expandX().padRight(40); 
+2

Das Festlegen der Größe eines Widgets in einer Tabelle funktioniert nicht, da die Tabelle ihre Größe verwaltet. Sie müssen die Größe der Zelle festlegen, die zurückgegeben wird, wenn Sie sie der Tabelle hinzufügen. – Tenfour04

Antwort

1

Anton, können Sie die Breite des ProgressBar in der Tabelle erhöhen mit 1. .colspan (2) oder 2.Table.setWidth(). Wenn Sie eine genaue (pixelgenaue) Steuerung der Position und Größe der ProgressBar wünschen, fügen Sie sie zu einer Gruppe statt zu Tabelle hinzu - dann funktionieren die Dinge, die Sie versucht haben (setSize, setWidth, setMinWidth im Hintergrund der Fortschrittsleiste).

Verwandte Themen