gpt4 book ai didi

libgdx - 在 scene2d.ui.Table 中对齐具有定义宽度的单元格不起作用

转载 作者:行者123 更新时间:2023-12-04 19:50:37 25 4
gpt4 key购买 nike

如果我给单元格一个定义的宽度,我会遇到单元格内容对齐的问题。

例子:

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();

我不明白为什么第一个例子没有产生相同的结果?

最佳答案

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

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

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

table.add(innerTable);

编辑:我刚刚在篡改时找到了第三个也是对我来说最好的解决方案。只需在将小部件添加到表格之前对其进行对齐即可。

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

关于libgdx - 在 scene2d.ui.Table 中对齐具有定义宽度的单元格不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23067590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com