На экране выбора уровня, над которым я сейчас работаю, я не могу заставить таблицу Scene2D UI заполнить весь экран. я пропустил несколько битов из кода, чтобы уменьшить длину, но вот соответствующий код:Пользовательский интерфейс Scene2D не заполняет весь экран
Stage stage = new Stage(new ScreenViewport());
table = new Table();
table.setFillParent(true);
innerTable = new Table();
//Omitted: Add a button to innerTable for each level
ScrollPaneStyle scrollPanelStyle = new ScrollPaneStyle();
scrollPanelStyle.vScrollKnob = new BaseDrawable();
scrollPane = new ScrollPane(innerTable);
scrollPane.setScrollingDisabled(true, false);
scrollPane.setupOverscroll(30f, 30f, 150f);
//Temporarily a restart icon
Image backButton = new Image(backButtonTexture);
backButton.setScaling(Scaling.fit);
table.add(backButton).height(75f).width(75f).pad(20, 0, 20, 0).left();
table.row();
table.add(scrollPane);
В настоящее время она выглядит следующим образом. Значок не так далеко, как я думаю, это будет с текущим кодом. Насколько мне известно, он должен быть на 0 по оси X.
То же самое верно и для innerTable с ScrollPane, содержащий все уровни, он не заполняет весь экран по оси X, но это выглядит, как я хочу, так что это на самом деле не проблема там.
Ответ: Добавление expandX()
к моему ScrollPane в конечном итоге делает трюк, в результате чего в этой линии: table.add(scrollPane).expandX();
. Огромное спасибо флоту.
Как временное решение, я могу использовать отрицательное дополнение, но более правильное исправление по-прежнему будет очень цениться. – tobloef