libgdx - 如何使用包装文本获取Label

tal*_*ees 12 java label libgdx

我尝试了以下代码:

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

然而我得到的只是一条非常宽的线条,从屏幕上消失.

Ben*_*nnX 33

这与"如何将标签设置为正确大小""滑块始终具有默认宽度"中所示的问题相同.

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

UI小部件不设置自己的大小和位置.相反,父窗口小部件设置每个子项的大小和位置.窗口小部件提供父级可用作提示的最小,首选和最大大小.某些父窗口小部件(如Table)可以为如何调整子项的大小和位置提供约束.要在窗体中为窗口小部件指定特定大小,窗口小部件的最小,首选和最大大小将保持不变,并且在父窗口中设置大小约束.

来源:来自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
Run Code Online (Sandbox Code Playgroud)