2016-12-18 7 views
1

Я создал диалог и добавил кнопку актера.Как использовать диалог Libgdx Scene2d?

windowStyle = new Window.WindowStyle(boldFont, Color.WHITE, drawable); 
dialog = new Dialog("Error", windowStyle); 
dialog.getContentTable().add(resetButton); 

, но проблема в том, что, когда я делаю dialog.show(stage) только фон диалогового окна находится в центре, а строка «Error» находится в верхнем левом углу диалогового фона в то время как resetButton также не выровнен ,

ответ

2

Здесь вы можете сделать несколько вещей. Класс Dialog имеет, наконец, три таблицы в нем. Строка «Ошибка» добавляется к titleTable. Вы можете создать пустой под названием Диалог:

dialog = new Dialog("", windowStyle);

, а затем добавить и центрирования название вручную:

dialog.getTitleTable().add(new Label("Error", new Label.LabelStyle(boldFont, Color.WHITE)).center().expand();

То же самое для resetButton, но вы можете использовать getContentTable() или getButtonTable() методы.

Если вы хотите изменить размер или положение диалогового окна, я обнаружил, что единственный способ сделать так, чтобы создать свой собственный класс Dialog, MyDialog extends Dialog и переопределить методы getPrefHeight(), getPrefWidth() и setPosition(x, y).