【问题标题】:How to get a Label with wrapped text?如何获得带有包装文本的标签?
【发布时间】:2013-09-01 10:22:30
【问题描述】:

我试过以下代码:

Label label = new Label(reallyLongString, skin);
label.setWrap(true);
label.setWidth(100); // or even as low as 10
table.add(label);
...

然而我得到的只是一条很宽的线,从屏幕上划出。如何获取带有换行文本的标签?

【问题讨论】:

    标签: java libgdx label


    【解决方案1】:

    这与在 slider always has default width"Slider always has default width" 中看到的问题相同。

    您需要将该标签放入表格中,并将正确大小添加到标签所在表格的单元格中。

    UI 小部件不设置自己的大小和位置。相反,父窗口小部件设置每个孩子的大小和位置。小部件提供父级可以用作提示的最小、首选和最大大小。一些父窗口小部件,例如 Table,可以限制子窗口的大小和位置。要在布局中为小部件指定特定尺寸,小部件的最小、首选和最大尺寸将保持不变,并在父级中设置尺寸限制。

    来源:From the libgdx wiki Scene2D

    解决办法:

    Label label = new Label(reallyLongString, skin);
    label.setWrap(true);
    label.setWidth(100); // or even as low as 10
    table.add(label).width(10f);// <--- here you define the width
    

    【讨论】:

    • 我使用this WidgetGroup implementation 代替表(请参阅this question 了解我为什么需要它)。是否只能将文本包装在 Table 内的 Label 中,或者任何 WidgetGroup 实现都可以提供该功能?
    • 我会试一试,因为它基于相同的系统。所以我认为该组也应该提供相同的功能。 Regualy 您设置容器的宽度,而不是标签或任何本身的宽度。这也应该是团体的规则
    • 此方法不适用于TextButtons
    【解决方案2】:

    我发现以下代码可以在没有任何表格或包装容器的情况下解决问题(对于 libgdx-1.9.6):

    label = new Label("Some label", skin);
    label.setPosition(600, 50);
    label.setWidth(200);
    label.setHeight(50);
    label.setWrap(true);
    stage.addActor(label);
    

    【讨论】:

      【解决方案3】:

      如果您只想为单个小部件指定首选大小,请使用 Container 包装它。

      https://github.com/libgdx/libgdx/wiki/Scene2d.ui#layout-widgets

      https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/ui/Container.html

      类似:

      Container<Label> labelContainer = new Container(myLabel);
      labelContainer.prefWidth(200.0f);
      

      请记住,实际大小会因容器层次结构而异 - 例如,如果将上面的 labelContainer 放置在另一个布局对象中,则显示会有所不同。

      大小也会因视口等而异。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-07
        • 2017-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多