2012-12-15 14 views
6

Mam VerticalGroup z Button s na moim ekranie. Problem polega na tym, że przyciski znajdują się bardzo blisko jeden do jednego. Chcę dodać spacje między przyciskami, coś w rodzaju dopełnienia lub marginesu. Metoda pad znajduje się w interfejsie API, ale VerticalGroup nie rozszerza tabeli i dlatego nie zawiera tej metody. Proszę wskazać mi jak mogę dodać jakieś odstępy między przyciskami wewnątrz VerticalGroupMarginesy i wyściółki między elementami w LibGDX

Przykładowy kod

VerticalGroup buttons = new VerticalGroup(); 
buttons.addActor(btn1); 
buttons.addActor(bnt2); 
// ... and so on 

Odpowiedz

3

Zamiast dodawania wyściółkę od rodzica (the VerticalGroup) dodać dopełnienie do każdego elementu (The Button ów).

A libGDX Button to także Table, a tabele obsługują różne metody pad. Są one udokumentowane w celu zmiany wypełnienia wokół zewnętrznej strony stołu (lub przycisku w twoim przypadku).

+0

Próbowałem to zrobić, ale to nie ma żadnego efektu. Rozumiem, że padding ustawia się wewnątrz stołu. Ale w tym przypadku muszę ustawić wyściełanie na zewnątrz –

12

Lepiej późno niż wcale: libGDX używa TableLayout (https://github.com/EsotericSoftware/tablelayout) do zamawiania widżetów. Kiedy podążysz za odnośnikiem i przejdziesz do sekcji "Wypełnienie", otrzymasz obraz ilustrujący twoją sytuację. W celu uzyskania margines (odstęp poza przycisku), musisz użyć następującego kodu:

table.add(button).width(100).pad(10); 
table.row(); 
table.add(lastButton); 
9

To jest bardzo, bardzo nowe, ale dla każdego, kto czyta tę kwestię w przyszłości, jest przestrzeń metoda VerticalGroup która ma pozwolić na określenie odstępów między elementami:

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

można znaleźć przykład, jak to działa, tutaj:

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

Dla osób pracujących z nieco starszej wersji libgdx, istnieje setSpacing sposób, który może być stosowany zamiast.

Powiązane problemy