LibGDX中元素之间的边距和填充

8
我在屏幕上有一个VerticalGroup,里面装着一些Button。问题是这些按钮之间非常靠近,我想在它们之间添加一些空白间隔,类似于padding或margin。我在API中找到了Table中的pad方法,但VerticalGroup没有继承Table,因此不包含该方法。请告诉我如何在VerticalGroup内部的按钮之间添加一些间距。
样例代码
VerticalGroup buttons = new VerticalGroup();
buttons.addActor(btn1);
buttons.addActor(bnt2);
// ... and so on
3个回答

15
迟做总比不做好:libGDX使用TableLayout(https://github.com/EsotericSoftware/tablelayout)来排序小部件。当您点击链接并进入“Padding”部分时,将会看到一张插图展示您的情况。为了获得外边距(按钮外部的间距),您需要使用以下代码:
 table.add(button).width(100).pad(10);
 table.row();
 table.add(lastButton);

13

这是非常,非常新的。但是对于未来阅读此问题的任何人,VerticalGroup中有一个space方法,旨在允许您定义元素之间的间距:

http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/ui/VerticalGroup.html#space(float)

您可以在此处找到其示例:

https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/Scene2dTest.java

对于那些使用稍旧版本的libgdx的人,可以使用setSpacing方法。


3

不要从父元素(VerticalGroup)添加填充,而是将填充添加到每个元素(Button)中。

libGDX的Button也是一个Table,表格支持各种填充方法。这些方法被记录为更改表格(或在您的情况下是按钮)周围的填充。


我尝试过这样做,但是没有任何效果。据我所知,pad设置是在表格内部进行填充的。但在这种情况下,我需要在外部设置填充。 - Dmitriy Tarasov
所有的链接都已失效。 - CCD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接