如果我给单元格定义宽度,我的单元格内容对齐有问题。
示例:
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();
农产品:
| Name1 | 0_ _ |:| 1 _ _ | Name2 |
但我想要这个结果:
| Name1 | _ _ 0 |:| 1 _ _ | Name2 |
如果我像这样修改表格,它将起作用:
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();
我不明白为什么第一个例子没有创建相同的结果?
答案 0 :(得分:0)
我遇到了同样的问题并为我的所有表启用了调试,然后我意识到当你使用.add()。width(x)时,它会调整窗口小部件的宽度(显示为绿线),不仅仅是我预期的单元格宽度(显示为红线),这就产生了问题。
在第二个示例中,您调整了第二行的空单元格大小,在第一行中,您的标签小部件的大小不是50,并且可以在中心或右侧对齐。
这是一个与HTML表格不同的障碍,应该修复。现在,您的第二个示例可以用作解决方案,另一个示例(我使用的是)使用内部表作为小部件。
table.add(innerTable);
编辑:我在篡改时为我找到了第三个也是最好的解决方案。在将小部件添加到表之前,只需对其进行对齐。
label.setAlignment(Align.right);
table.add(label).width(50);