Libgdx align не работает

После уменьшения масштаба кнопки «Забыли пароль :(» кажется, что ее ячейка не уменьшилась. В результате содержимое ячейки находится в нижнем левом углу ячейки. Мне нужно, чтобы оно было выровнено по центру, или мне нужно уменьшите размер ячейки до размера содержимого.

Вот скриншот: Libgdx align не работает

И код:

 Table tableRoot = new Table();
 tableRoot.setFillParent(true);
 tableRoot.padTop(40);
 tableRoot.align(Align.center);

 final Label hint = new Label("Wrong password", Utility.UI_SKIN, "default-text");
 hint.setAlignment(Align.center);
 hint.setFontScale(1.3f);

 final Label question = new Label("Return to login screen?", Utility.UI_SKIN, "default-text");
 question.setAlignment(Align.center);

 Table table = new Table();
 final TextButton yesButton = new TextButton("Yes", Utility.UI_SKIN, "login-window-button");
 final TextButton forgotButton = new TextButton("Forgot password:(", Utility.UI_SKIN, "login-window-button");
 forgotButton.setTransform(true);
 forgotButton.setScale(0.7f);

 table.add(yesButton).pad(10).row();
 table.add(forgotButton).pad(10).align(Align.center); //align here does not work

 tableRoot.add(hint).growX().row();
 tableRoot.add().grow().row();
 tableRoot.add(question).growX().padBottom(20).row();
 tableRoot.add(table).growX().row();
 tableRoot.add().grow().row();
 tableRoot.add().grow().row();
 tableRoot.pack();

Что я сделал не так или пропустил?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
870
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Масштабирование Актера не изменяет его предпочтительный размер. У вас есть много способов справиться с этим, выберите тот, который вам больше всего нравится.

  • масштабируйте актера вокруг его центра. Позвоните в forgotButton.setOrigin(Align.center)
  • масштабируйте шрифт кнопки, а не кнопки. forgotButton.getLabel().setFontScale(.7f)
  • размер ячейки таблицы: table.add(forgotButton).pad(10).prefWidth(forgotButton.getPrefWith() * .7f)

большое спасибо! можно задать еще один вопрос? В его центре находится происхождение актера?

Maxgmer 30.05.2018 14:23

Первоначально происхождение находится в позиции 0, 0 - так что это нижний левый угол. Это именно то, что вы видите на своем снимке экрана.

MrStahlfelge 30.05.2018 17:09

Я имею ввиду .. откуда происхождение чем? Я думал, что это просто точка поворота для масштабирования, вращения и т. д. Но на практике это кажется чем-то другим.

Maxgmer 31.05.2018 08:28

Я рекомендую вам попробовать использовать действие и масштабировать или вращать вашего актера с этим действием и другим происхождением. Я уверен, что тогда вы поймете, что такое происхождение. :-)

MrStahlfelge 31.05.2018 10:59

Другие вопросы по теме