Layout libgdx表格仅在右下角区域布局组件

Layout libgdx表格仅在右下角区域布局组件,layout,libgdx,Layout,Libgdx,我正在使用一个表向一个阶段添加一些标签。出于某种原因,它会将其添加到右下角而不是左上角。有没有关于如何正确布置组件的想法 int dialogWidth = 450; int dialogHeight = 650; Label label1 = new Label("MUSIC:", skin); Label label2 = new Label("SOUND EFFECTS:", skin); Label label3 = new Label("JUMP SPEED:", skin); Te

我正在使用一个表向一个阶段添加一些标签。出于某种原因,它会将其添加到右下角而不是左上角。有没有关于如何正确布置组件的想法

int dialogWidth = 450;
int dialogHeight = 650;

Label label1 = new Label("MUSIC:", skin);
Label label2 = new Label("SOUND EFFECTS:", skin);
Label label3 = new Label("JUMP SPEED:", skin);
TextButton btn1 = new TextButton("whatever", skin);

final Dialog dialog = new Dialog("Properties", skin);

dialog.setSize(dialogWidth, dialogHeight);
dialog.setX(Helper.RESOLUTION_X_CENTER-dialogWidth/2);
dialog.setY(Helper.RESOLUTION_Y_CENTER-dialogHeight/2);

Table t = new Table();

t.setBounds(0, 0, dialogWidth, dialogHeight);

t.add(label1);
t.row();
t.add(label2);
t.add(btn1);
t.row();
t.add(label3);
dialog.add(t);
stage.addActor(dialog);

修复1: 解决方案:删除以下行

t.setBounds(0, 0, dialogWidth, dialogHeight);
dialog.add(t);
原因:不要自己使用挫折。让布局经理来处理


修复2: 解决方案:替换以下行

t.setBounds(0, 0, dialogWidth, dialogHeight);
dialog.add(t);

原因:对话框本身就是一个包含三个组件的表,即标题、内容表和按钮表。
您的代码在ButtonTable(右)之后的ButtonTable行(底部最后一行)中添加新表。
更新后的代码会将其添加到内容表中它应该位于的位置。
请参阅以了解背后的原因

expand().left().top();

<>最后,为了调试任何表相关问题,考虑使用调试行(在同一链接中解释)
BR> 希望这有帮助