Libgdx scene2d.ui.Table中定义宽度的单元格对齐不起作用

Libgdx scene2d.ui.Table中定义宽度的单元格对齐不起作用,libgdx,Libgdx,如果给单元格一个定义的宽度,则单元格内容的对齐有问题 例如: table = new Table(skin); table.add("Name1").uniform(); table.add("0").width(50).right(); table.add(":"); table.add("1").width(50); table.add("Name2").uniform(); table.row(); 制作: |姓名1 | 0 | |:| 1 | |姓名2| 但我想要这个结果: |名称1

如果给单元格一个定义的宽度,则单元格内容的对齐有问题

例如:

table = new Table(skin);
table.add("Name1").uniform();
table.add("0").width(50).right();
table.add(":");
table.add("1").width(50);
table.add("Name2").uniform();
table.row();
制作:

|姓名1 | 0 | |:| 1 | |姓名2|

但我想要这个结果:

|名称1 | uu0 |:| 1 uu124;名称2|

如果我像这样修改表,它将工作:

table = table =new Table(skin);
table.add("Name1").right();
table.add("0").right();
table.add(":");
table.add("1").left();
table.add("Name2").left();
table.row();

table.add("").uniform();
table.add("").width(50);
table.add("");
table.add("").width(50);
table.add("").uniform();

我不明白为什么第一个示例没有创建相同的结果?

我遇到了同样的问题,并为所有表打开了调试,然后我意识到当使用.add().width(x)时,它会调整小部件的宽度(显示为绿线),而不仅仅是单元格的宽度(显示为红线),这就产生了问题

在第二个示例中,调整第二行的空单元格的大小,而在第一行中,标签小部件的大小不是50宽,可以居中或向右对齐

这是一个与HTML表不同的障碍,应该加以修复。现在,您的第二个示例可以用作解决方案,另一个示例是(我使用的)使用内部表作为小部件

table.add(innerTable);
编辑:我刚刚找到了第三个也是最好的解决方案,同时篡改。只需在将小部件添加到表之前对其进行对齐即可

label.setAlignment(Align.right);
table.add(label).width(50);

我也有同样的问题-你解决了吗?很抱歉,我直到现在才解决:(