Java 在表的顶部添加一行(LibGdx)
如何在LibGdx中的表顶部添加一行Java 在表的顶部添加一行(LibGdx),java,libgdx,Java,Libgdx,如何在LibGdx中的表顶部添加一行 tableName.add(rowElement); 这样,它会在表的末尾(底部)添加一行。我需要做相反的事情 tableName.add(rowElement).align(Align.top); // didn't work 代码: 简短回答:不能(直接)在libgdx表中插入 然而,有一些变通办法 根据libgdx: 表允许更改或删除单元格的小部件(通过设置它) 设置为null),但表当前不允许在中插入单元格 中间的或被移除的。为此,需要重建表:c
tableName.add(rowElement);
这样,它会在表的末尾(底部)添加一行。我需要做相反的事情
tableName.add(rowElement).align(Align.top); // didn't work
代码:
简短回答:不能(直接)在libgdx表中插入 然而,有一些变通办法 根据libgdx: 表允许更改或删除单元格的小部件(通过设置它) 设置为null),但表当前不允许在中插入单元格 中间的或被移除的。为此,需要重建表:call clearChildren删除所有子项和单元格,然后将它们全部添加到 又是桌子 如果需要插入或删除单元格,可以使用垂直组或水平组 因此不能在表的顶部插入单元格。您需要完全从头开始重新构建表,或者按照建议使用该类
第一种解决方案:每次要在顶部插入消息时,都要重新生成表
第二种解决方案:使用垂直组
// Initialize
VerticalGroup v = new VerticalGroup();
v.addActor(new Label("First row", skin))
v.addActor(new Label("Second Row", skin))
v.pack();
myScene.addActor(v);
...
// Add to the 'top'
v.addActorAt(0, new Label("I'm at the first row", skin));
v.pack();
我还没有测试过这段代码,但它应该可以帮助您了解它的要点
但是,要注意,这样做会损失libgdx表的一部分功能。您能发布代码以便我们快速模拟吗?似乎您必须使用.jquery的.prepend或。before@Einlanzer这是一个Java/LibGDX问题。@Erick,请发布一个更完整的代码示例,说明您正在做什么。对齐仅用于单元格的内容。它与表中的单元格无关。@没有人发布代码示例您的代码与图片不匹配。通常,您只需先插入(第一行),就可以在表的顶部得到一些内容。
// Initialize
VerticalGroup v = new VerticalGroup();
v.addActor(new Label("First row", skin))
v.addActor(new Label("Second Row", skin))
v.pack();
myScene.addActor(v);
...
// Add to the 'top'
v.addActorAt(0, new Label("I'm at the first row", skin));
v.pack();