【问题标题】:Scene2D label setWrap is ignoredScene2D 标签 setWrap 被忽略
【发布时间】:2015-08-20 13:06:46
【问题描述】:

我有一个显示文本和按钮的简单框。 我正在尝试让文本包含在表格中。 不幸的是,文本溢出了表格并且没有换行。

我虽然这会很简单,但它变得很痛苦。

Label description = SkinController.getInstance().getLabel(Strings.NoAdsDescription, Values.FONT_SCALE_SMALL);
description.setWrap(true);
description.setAlignment(Align.center);

TextButton buy = SkinController.getInstance().getTextButton(Strings.Buy);

table.add(description).maxWidth(table.getWidth() - (Values.PADDING_SMALL * 2f)).pad(Values.PADDING_SMALL).expandY().top().center();
table.row();
table.add(buy).pad(Values.PADDING_SMALL);

【问题讨论】:

  • 可能是你的 labelWidth 比屏幕大?我会尝试使用设定的宽度来测试它是否有效。然后看看问题出在哪里。它可能在某处的“table.add”行中。
  • 它不比屏幕宽但比桌子宽。虽然这就是 wrap 的用途?
  • 在添加标签时尝试为单元格设置固定宽度。
  • 不,仍然是错误。但是我发现在我添加它的行的末尾添加了 .fill() ,它可以工作。现在,当滚动窗格显然存在时,我有一个问题,即滚动窗格没有在 json 中被拾取。 :-/.
  • 单独设置标签的宽度...应该可以解决问题

标签: libgdx scene2d


【解决方案1】:

使用prefWidth 代替maxWidth

示例:

mylabel.setWrap(true);
mylabel.setWidth(100);
table.add(mylabel).expandX().prefWidth( 350 );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2013-01-16
    • 2015-02-02
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 2011-07-22
    相关资源
    最近更新 更多