Короткий ответ: вы не можете вставить в libgdx таблице (непосредственно)
Однако, существуют обходные пути.
Согласно libgdx documentation:
Таблица позволяет виджет клетке, чтобы быть изменены или удалены (установив его нулевое значение), но таблица в настоящее время не позволяет клеткам быть вставлены в середину или удалены , Для этого необходимо перестроить таблицу: вызовите clearChildren, чтобы удалить все дочерние элементы и ячейки, а затем снова добавить их в таблицу .
Если требуется вставить или удалить ячейки, можно использовать VerticalGroup или HorizontalGroup.
Таким образом, вы не можете вставлять ячейки в верхней части таблицы. Вам необходимо полностью перестроить таблицу с самого начала или, в качестве альтернативы, использовать класс VerticalGroup.
Первое решение: восстановить таблицу каждый раз, когда вы хотите, чтобы вставить сообщение в верхней части.
Второе решение: Использование Vertical Group
// 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.
Можете ли вы разместить свой код, чтобы мы могли быстро имитировать? кажется, что вы должны использовать .jp .prepend или .before – Einlanzer
@Einlanzer Это вопрос Java/LibGDX. – noone
@Erick, пожалуйста, напишите более полный пример кода, который показывает, что вы делаете. Выравнивание предназначено только для содержимого ячейки. Это не связано с ячейкой в таблице. – noone